Python 在给定阈值内提取高度相关变量的最佳方法是什么
我有一个数据帧和两两相关的计算Python 在给定阈值内提取高度相关变量的最佳方法是什么,python,numpy,pandas,scipy,Python,Numpy,Pandas,Scipy,我有一个数据帧和两两相关的计算 >>> df1 = pd.read_csv("/home/zebrafish/Desktop/stack.csv") >>> df1.corr() GA PN PC MBP GR AP GA 1.000000 0.070541 0.259937 -0.452661 0.115722 0.268014 PN
>>> df1 = pd.read_csv("/home/zebrafish/Desktop/stack.csv")
>>> df1.corr()
GA PN PC MBP GR AP
GA 1.000000 0.070541 0.259937 -0.452661 0.115722 0.268014
PN 0.070541 1.000000 0.512536 0.447831 -0.042238 0.263601
PC 0.259937 0.512536 1.000000 0.331354 -0.254312 0.958877
MBP -0.452661 0.447831 0.331354 1.000000 -0.467683 0.229870
GR 0.115722 -0.042238 -0.254312 -0.467683 1.000000 -0.248777
AP 0.268014 0.263601 0.958877 0.229870 -0.248777 1.000000
>>>
现在,从这个相关矩阵中,我如何列出或提取上述情况下的高度相关变量数据框很小,因此很容易选择高度相关变量,但当数据集很大时,比如4000 X 2000,我们如何使用python、pandas或numpy来实现这一点
更新
使用建议的方法,我能够得到这个非常漂亮的结果,但我的困惑仍然存在,它与编程部分无关,与理论有关
level_0 level_1 0
0 GA GA 1.000000
1 GA PN 0.070541
2 GA PC 0.259937
4 GA GR 0.115722
5 GA AP 0.268014
6 PN GA 0.070541
7 PN PN 1.000000
8 PN PC 0.512536
9 PN MBP 0.447831
11 PN AP 0.263601
12 PC GA 0.259937
13 PC PN 0.512536
14 PC PC 1.000000
15 PC MBP 0.331354
17 PC AP 0.958877
19 MBP PN 0.447831
20 MBP PC 0.331354
21 MBP MBP 1.000000
23 MBP AP 0.229870
24 GR GA 0.115722
28 GR GR 1.000000
30 AP GA 0.268014
31 AP PN 0.263601
32 AP PC 0.958877
33 AP MBP 0.229870
35 AP AP 1.000000
例如,在下面给出的“和平结果”中,当我想删除显示相关性大于0.2的变量时,我们可以看到AP与给定阈值内的其余三个变量相关,而其余三个变量也与AP相关(尽管,0.2不代表高度相关集,但仅作为示例选择)那么,在什么基础上,我可以认为一个变量在四个AP、GA、PN和PC之间高度相关或仅仅相关
30 AP GA 0.268014
31 AP PN 0.263601
32 AP PC 0.958877
谢谢你可以试试这个
corr_val=0.01
df2 = df1.corr().unstack().reset_index()
df2[df2[0]>corr_val]
谢谢你的回复,我已经更新了我的问题,进一步澄清了一个基本概念。