我正在使用熊猫,并且我有类似这样的数据集:
entype
因此,我需要按总成本最高的顺序获得第五个值,即4 [85 80 7 6 4 1]。不是名称,不是ID,而是一个值。
答案 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]