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

时间:2018-03-24 17:14:59

标签: python pandas correlation tabular

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

1 个答案:

答案 0 :(得分:1)

使用DataFrame计算相关性,然后使用布尔掩码按截止条件对列进行切片。

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