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