Python 从pandas中的相关矩阵创建列表

Python 从pandas中的相关矩阵创建列表,python,pandas,dataframe,matrix,correlation,Python,Pandas,Dataframe,Matrix,Correlation,我试图从相关矩阵中创建一个列表(3个最高相关选择)。假设我有以下矩阵: A B C D E A 1.00 0.15 0.57 0.11 0.98 B 0.59 1.00 0.32 0.24 0.54 C 0.96 0.65 1.00 0.22 0.67 D 0.72 0.33 0.78 1.00 0.92 E 0.88 0.94 0.61 0.48 1.00 假设我对矩阵进行排序,根据B列给出最相关的矩

我试图从相关矩阵中创建一个列表(3个最高相关选择)。假设我有以下矩阵:

     A     B     C     D     E
A  1.00  0.15  0.57  0.11  0.98
B  0.59  1.00  0.32  0.24  0.54
C  0.96  0.65  1.00  0.22  0.67
D  0.72  0.33  0.78  1.00  0.92
E  0.88  0.94  0.61  0.48  1.00
假设我对矩阵进行排序,根据B列给出最相关的矩阵,矩阵现在如下所示:

     A     B     C     D     E
B  0.59  1.00  0.32  0.24  0.54
E  0.88  0.94  0.61  0.48  1.00
C  0.96  0.65  1.00  0.22  0.67
D  0.72  0.33  0.78  1.00  0.92
A  1.00  0.15  0.57  0.11  0.98
如您所见,矩阵已排序,以显示B列最相关的对应项。然后,我希望能够以列表形式返回前3个相关字母,同时忽略顶行(B),因为这显然是1:1相关的

例如,我想
top\u correlated=['E','C','D']
,或者我希望我的列表就是我的意思


和我所有的帖子一样,我知道礼仪至少是在代码方面表现出一些努力,但像往常一样,我完全被难住了,所以我在这里发帖。非常感谢您的帮助。

您可以在列上调用
nlargest
,获取索引,并从第一个元素开始切片,而不是对整个
数据帧进行排序,因为它应该始终是它自己

col = 'B'
df[col].nlargest(4).index[1:].tolist()

['E', 'C', 'D']