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 方式?谢谢。
只需组合数据框并使用.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)