列列表 X 整个数据框之间的熊猫相关性

Cal*_*arJ 2 python data-visualization pandas data-science

我正在寻找有关 Pandas .corr() 方法的帮助。

照原样,我可以使用 .corr() 方法来计算每个可能的列组合的热图:

corr = data.corr()
sns.heatmap(corr)
Run Code Online (Sandbox Code Playgroud)

其中,在我的 23,000 列数据框中,可能会在宇宙热死附近终止。

我还可以在值的子集之间进行更合理的相关

data2 = data[list_of_column_names]
corr = data2.corr(method="pearson")
sns.heatmap(corr)
Run Code Online (Sandbox Code Playgroud)

这给了我一些我可以使用的东西——这是一个看起来像的例子: 示例热图

我想做的是将 20 列的列表与整个数据集进行比较。正常的 .corr() 函数可以给我一个 20x20 或 23,000x23,000 的热图,但基本上我想要一个 20x23,000 的热图。

如何为我的相关性添加更多特异性?

谢谢您的帮助!

And*_*rew 8

列出您想要的子集(在本例中是 A、B 和 C),创建一个空数据框,然后使用嵌套循环用所需的值填充它。

df = pd.DataFrame(np.random.randn(50, 7), columns=list('ABCDEFG'))

# initiate empty dataframe
corr = pd.DataFrame()
for a in list('ABC'):
    for b in list(df.columns.values):
        corr.loc[a, b] = df.corr().loc[a, b]

corr
Out[137]: 
          A         B         C         D         E         F         G
A  1.000000  0.183584 -0.175979 -0.087252 -0.060680 -0.209692 -0.294573
B  0.183584  1.000000  0.119418  0.254775 -0.131564 -0.226491 -0.202978
C -0.175979  0.119418  1.000000  0.146807 -0.045952 -0.037082 -0.204993

sns.heatmap(corr)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明