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