Сначала я получу значения, по которым вы хотите вычислить ваши корреляции в столбцах, а затем воспользуйтесь уже реализованным методом панд .corr () . Так что для него метод unstack является простым подходом.
Вот мой код:
# considering that the position measures are already sorted we will create indexes for every step and call them 'measure'
df['measure'] = [_ // 2 for _ in range(len(df))] # 2 IDs in total
# no more need of time data
df.drop(labels='Time', axis=1, inplace=True)
# this line of work does all the work. I am using the .corr() method from pandas
df.set_index(['ID', 'measure']).unstack('ID').corr()
Вывод должен быть матрицей корреляций, я использовал причудливый метод для создания этой тепловой карты, используяseaborn:
![enter image description here](https://i.stack.imgur.com/eZTzk.png)
Если вас интересует и визуализация, взгляните на метод тепловых карт из seaborn.