pandas.core.groupby.SeriesGroupBy.nsmallest #

系列分组依据。nsmallest ( n = 5 , keep = 'first' ) [来源] #

返回最小的n 个元素。

参数
n整数,默认5

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

保留{'first', 'last', 'all'}, 默认 'first'

当存在不能全部放入n 个元素的 Series 中时:

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

  • last:按出现的相反顺序返回最后n个出现的位置。

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

返回
系列

系列中的n 个最小值,按升序排序。

也可以看看

Series.nlargest

获取n个最大的元素。

Series.sort_values

按值对系列进行排序。

Series.head

返回前n行。

笔记

比相对于对象大小而言n.sort_values().head(n)较小的情况更快。Series

例子

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

默认情况下, n 个最小元素。n=5

>>> s.nsmallest()
Montserrat    5200
Nauru        11300
Tuvalu       11300
Anguilla     11300
Iceland     337000
dtype: int64

n最小元素,其中n=3.默认保留值为“first”,因此瑙鲁和图瓦卢将被保留。

>>> s.nsmallest(3)
Montserrat   5200
Nauru       11300
Tuvalu      11300
dtype: int64

n 个最小的元素位于n=3并保留最后的重复项。安圭拉和图瓦卢将被保留,因为根据指数顺序,它们是最后一个,价值为​​ 11300。

>>> s.nsmallest(3, keep='last')
Montserrat   5200
Anguilla    11300
Tuvalu      11300
dtype: int64

保留所有重复项的n 个最小元素。n=3请注意,由于存在三个重复项,返回的 Series 有四个元素。

>>> s.nsmallest(3, keep='all')
Montserrat   5200
Nauru       11300
Tuvalu      11300
Anguilla    11300
dtype: int64