如何获得大熊猫中价值最高的第五位的字段

时间:2018-07-02 17:27:45

标签: python pandas

我正在使用熊猫,并且我有类似这样的数据集:

entype

因此,我需要按总成本最高的顺序获得第五个值,即4 [85 80 7 6 4 1]。不是名称,不是ID,而是一个值。

2 个答案:

答案 0 :(得分:3)

您可以排序,然后使用iloc来获取第五个值:

df.sort_values('total-cost', ascending=False)['total-cost'].iloc[4]

或者使用nlargest(5)获取最大的5个值,然后使用iloc获取该值的最后一个值:

df['total-cost'].nlargest(5).iloc[-1]

答案 1 :(得分:1)

您可以使用函数nlargest(n)来获取如下所示的n个最大数字

import pandas as pd
df = pd.DataFrame([['a',7],['b',4],['c',1],['e',6],['f',80],['k',85]], columns=['name','total_cost'])
In [2]: df.total_cost.nlargest(5)
Out[2]: 
5    85
4    80
0     7
3     6
1     4
Name: total_cost, dtype: int64

df.nlargest(n)返回具有原始索引和n个最大值的熊猫系列

如果您需要的只是第5个最大值,则可以使用df.total_cost.nlargest(5).reset_index().total_cost[4]