给定1xN数据帧表,需要从该行中选择5个最大值并将相应的列名返回到列表中。
这是数据框示例:

            5        2         13         15         37        8         89
PageRank  0.444384  0.44453  0.444695  0.444882  0.444759  0.44488  0.444648

试过了
r = list(pr.loc['PageRank'].nlargest(5))

但是创建的列表只有行中的值,而没有列名。
如何获取5个最大单元格值的列名?
例如,在给定的数据帧中,它应该返回
[15,37,13,89,5]

最佳答案

使用index:

r1 = list(pr.loc['PageRank'].nlargest(5).index)
print (r1)
[15, 8, 37, 13, 89]

要么:
r1 = pr.columns[pr.loc['PageRank'].values.argsort()][-1:-6:-1].tolist()
print (r1)
[15, 8, 37, 13, 89]

关于python-2.7 - 对于python中给定条件的值,将列名称作为数据框中的列表返回,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47493567/

10-12 23:43