给定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/