Python 如何得到熊猫中最高值的第五个字段
我正在使用熊猫,我有如下数据集:Python 如何得到熊猫中最高值的第五个字段,python,pandas,Python,Pandas,我正在使用熊猫,我有如下数据集: **ID name total-cost** 1 a 7 2 b 4 3 c 1 4 e 6 5 f 80 6 k 85 所以我需要按照总成本最高的顺序得到第五个值,这里是4[85 80 7 641]。不是名称,不是ID,只是一个值。您可以排序,然后使用iloc获取第五个值: df.sort_values('total-cost', ascending=False)['total-cost
**ID name total-cost**
1 a 7
2 b 4
3 c 1
4 e 6
5 f 80
6 k 85
所以我需要按照总成本最高的顺序得到第五个值,这里是4[85 80 7 641]。不是名称,不是ID,只是一个值。您可以排序,然后使用
iloc
获取第五个值:
df.sort_values('total-cost', ascending=False)['total-cost'].iloc[4]
或者使用nlargest(5)
获取最大的5个值,然后使用iloc
从中获取最后一个值:
df['total-cost'].nlargest(5).iloc[-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个最大值的熊猫系列
如果您只需要第五大值,您可以使用
df.total_cost.nlagest(5).reset_index()。total_cost[4]
根据文档的顺序返回它们。谢谢Alolz,我浏览了这一部分。所以它应该可以工作。你也可以使用pd.Series.rank
进行更精细的控制。如果我想得到前5个值的数组,比如:[85 80 7 6 4],我该怎么做?我试过用这个,但没用。对不起,如果我很无聊,我是新来的/<代码>df['total-cost'].NLAGEST(5).值