Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何得到熊猫中最高值的第五个字段_Python_Pandas - Fatal编程技术网

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).值