两个数据框之间的相关性

12

有类似的问题已经被问过了,但我还没有看到一个清晰的答案。请原谅我再次提问。我有两个数据框,我只想知道第一个数据框与第二个数据框中每一列之间的相关性。下面是能够实现这一目标的代码:

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) 

应该完成工作。有没有一种清晰的方法可以在不使用循环的情况下执行此功能?


1
这段代码没有太大问题,你也可以使用 df2.apply(df1['Y'].corr),但这实际上仍在循环每列。 - EdChum
1个回答

20

你可以使用corrwith

>>> df2.corrwith(df1.Y)
X1    0.051002
X2   -0.339775
X3    0.076935
dtype: float64

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接