已经提出了类似的问题,但我没有看到清晰的答案。原谅我再问一次。我有两个数据帧,我只想要第一个数据帧与第二个数据帧中的每一列的相关性。这是完全符合我要求的代码:
df1=pd.DataFrame( {'Y':np.random.randn(10) } )
df2=pd.DataFrame( {'X1':np.random.randn(10), 'X2':np.random.randn(10) ,'X3':np.random.randn(10) } )
for col in df2:
print df1['Y'].corr(df2[col])
但似乎我不应该在数据帧中循环。我希望像
那样简单df1.corr(df2)
应该完成工作。有没有明确的方法来执行此功能而不循环?
答案 0 :(得分:5)
您可以使用corrwith
:
>>> df2.corrwith(df1.Y)
X1 0.051002
X2 -0.339775
X3 0.076935
dtype: float64