如何 select 列与数据框中的一个特定列高度相关

How to select columns that are highly correlated with one specific column in a dataframe

我有一个超过 100 列的数据框,我正在尝试用它来构建模型。在这种情况下,此数据框中的一列 (A) 被视为响应,所有其他列(B、C、D 等)都是预测变量。因此,我正在尝试 select 基于相关系数(比如 >0.2)与 A 列相关的所有列。我已经生成了一个热图,其中包含每对列之间的所有相关因子。但是我可以在 pandas 中有一个快速的方法来将所有相关因子超过 0.2 的列(如果需要我当然会调整)到 A 列吗?提前致谢!

使用 DataFrame 计算相关性,然后使用布尔掩码根据 cut-off 条件对列进行切片。

import pandas as pd
df = pd.DataFrame({'A': [1,2,3,4,5,6,7,8,9,10],
                   'B': [1,2,4,3,5,7,6,8,10,11], 
                   'C': [15,-1,17,-10,-10,-13,-99,-101,0,0],
                   'D': [0,10,0,0,-10,0,0,-10,0,10]} )

df.loc[:, df.corr()['A'] > 0.2]

    A   B
0   1   1
1   2   2
2   3   4
3   4   3
4   5   5
5   6   7
6   7   6
7   8   8
8   9   10
9   10  11