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