两个 Pandas 数据帧的相关矩阵

shd*_*hda 5 python correlation dataframe pandas

假设我有两个数据框:

df1   df2
A B    C D
1 3   -2 7
2 4    0 10
Run Code Online (Sandbox Code Playgroud)

我需要创建一个由两个数据帧的列组成的相关矩阵。

corrmat_df
  C D
A 1 *  
B * 1 
Run Code Online (Sandbox Code Playgroud)
  • 代表相关性

我可以在嵌套循环中逐元素执行此操作,但也许还有更多Pythonic 方式?谢谢。

DYZ*_*DYZ 6

只需组合数据框并使用.corr()

result = pd.concat([df1, df2], axis=1).corr()
#     A    B    C    D
#A  1.0  1.0  1.0  1.0
#B  1.0  1.0  1.0  1.0
#C  1.0  1.0  1.0  1.0
#D  1.0  1.0  1.0  1.0
Run Code Online (Sandbox Code Playgroud)

结果包含所有想要的(以及一些不需要的)相关性。例如:

result[['C','D']].ix[['A','B']]
#     C    D
#A  1.0  1.0
#B  1.0  1.0
Run Code Online (Sandbox Code Playgroud)