Корреляция Пирсона между соседними столбцами в DataFrame - PullRequest
0 голосов
/ 15 апреля 2020

скажем, у меня есть кадр данных из 10 столбцов.

Теперь я хочу быстро вычислить соотношение между каждым столбцом и его следующим столбцом.

, поэтому Pearson r столбцов 1 и 2, столбцов 2 и 3, столбцов 3 и 4 и так далее.

есть ли для меня быстрый способ сделать это?

спасибо!

1 Ответ

0 голосов
/ 16 апреля 2020

Вы можете использовать pandas.DataFrame.corr для корреляции Пирсона и numpy.diag для извлечения интересующих вас значений. Позвольте мне показать вам игрушечный пример с 5 столбцами (для простоты):

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(0,10,(3,5)))

pcorr = df.corr()
np.diag(pcorr, 1)

и вы получите:

df:

    0   1   2   3   4
0   7   9   0   0   9
1   9   2   9   9   0
2   2   8   5   9   2

pcorr:

        0            1          2            3          4
0   1.000000    -0.622693   0.215274    -0.240192   0.029344
1   -0.622693   1.000000    -0.898170   -0.609994   0.763857
2   0.215274    -0.898170   1.000000    0.896258    -0.969816
3   -0.240192   -0.609994   0.896258    1.000000    -0.977356
4   0.029344    0.763857    -0.969816   -0.977356   1.000000

ваши ценности:

array([-0.62269252, -0.89817029,  0.89625816, -0.97735555])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...