DataFrame中相邻列之间的Pearson相关性



假设我有一个10列的数据帧。

现在,我想快速计算每一列与其下一列之间的关系。

因此,第1列和第2列、第2列和第3列、第3列和第4列的pearson r,依此类推

有什么快速的方法让我这么做吗?

谢谢!

您可以使用pandas.DataFrame.corr进行Pearson相关,使用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])

相关内容

  • 没有找到相关文章

最新更新