pandas.core.groupby.SeriesGroupBy.nlargest#

SeriesGroupBy.nlargest(n=5, keep='first')[源代码][源代码]#

返回最大的 n 个元素。

参数:
nint, 默认 5

返回这些按降序排序的值。

保持{‘first’, ‘last’, ‘all’}, 默认 ‘first’

当存在不能全部适应 n 元素的 Series 中的重复值时:

  • first : 返回按出现顺序的前 n 个出现。

  • last : 返回最后 n 次出现的逆序。

  • all : 保留所有出现的情况。这可能导致一个大小大于 n 的 Series。

返回:
系列

Series 中 n 个最大的值,按降序排列。

参见

Series.nsmallest

获取 n 个最小的元素。

Series.sort_values

按值排序系列。

Series.head

返回前 n 行。

备注

对于相对于 Series 对象大小较小的 n,比 .sort_values(ascending=False).head(n) 更快。

例子

>>> countries_population = {
...     "Italy": 59000000,
...     "France": 65000000,
...     "Malta": 434000,
...     "Maldives": 434000,
...     "Brunei": 434000,
...     "Iceland": 337000,
...     "Nauru": 11300,
...     "Tuvalu": 11300,
...     "Anguilla": 11300,
...     "Montserrat": 5200,
... }
>>> s = pd.Series(countries_population)
>>> s
Italy       59000000
France      65000000
Malta         434000
Maldives      434000
Brunei        434000
Iceland       337000
Nauru          11300
Tuvalu         11300
Anguilla       11300
Montserrat      5200
dtype: int64

最大的 n 个元素,其中 n=5 为默认值。

>>> s.nlargest()
France      65000000
Italy       59000000
Malta         434000
Maldives      434000
Brunei        434000
dtype: int64

最大的 n 个元素,其中 n=3。默认的 keep 值是 ‘first’,所以 Malta 将被保留。

>>> s.nlargest(3)
France    65000000
Italy     59000000
Malta       434000
dtype: int64

最大的 n 个元素,其中 n=3 并保留最后的重复项。文莱将被保留,因为它是基于索引顺序值为 434000 的最后一个。

>>> s.nlargest(3, keep="last")
France      65000000
Italy       59000000
Brunei        434000
dtype: int64

返回的 n 个最大元素,其中 n=3 并保留所有重复项。注意,由于三个重复项,返回的 Series 有五个元素。

>>> s.nlargest(3, keep="all")
France      65000000
Italy       59000000
Malta         434000
Maldives      434000
Brunei        434000
dtype: int64