当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pandas.core.groupby.SeriesGroupBy.nlargest用法及代码示例


用法:

SeriesGroupBy.nlargest(n=5, keep='first')

返回最大的 n 元素。

参数

n整数,默认 5

返回这么多降序排序的值。

keep{‘first’, ‘last’, ‘all’},默认 ‘first’

当有重复值不能全部放入 n 元素系列时:

  • first :按出现顺序返回第一个 n 出现。

  • last :以相反的出现顺序返回最后出现的 n

  • all :保留所有出现。这可能会导致大小大于 n 的系列。

返回

Series

系列中的 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’,因此将保留马耳他。

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

n 最大的元素,其中 n=3 并保留最后的重复项。文莱将被保留,因为它是最后一个,基于 index 顺序的值为 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

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.core.groupby.SeriesGroupBy.nlargest。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。