从Pandas的相关矩阵创建列表

2024-06-01 13:01:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从一个相关矩阵中创建一个列表(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列得出最相关的矩阵,矩阵现在看起来如下:

^{pr2}$

如您所见,矩阵已经过排序,以显示B列中最相关的对应项。然后我希望能够以列表的形式返回前3个相关字母,而忽略了顶行(B),因为这显然是1:1相关的。在

所以我希望top_correlated = ['E', 'C', 'D']或者我希望我的列表是我的意思。在

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


Tags: 代码列表排序top选项字母矩阵帖子
1条回答
网友
1楼 · 发布于 2024-06-01 13:01:11

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

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

^{pr2}$

相关问题 更多 >