pandas.DataFrame.nsmallest#
- DataFrame.nsmallest(n, columns, keep='first')[源代码]#
返回第一个 n 行排序依据 columns 按升序排列。
返回第一个 n 中具有最小值的行 columns ,按升序排列。也会返回未指定的列,但不用于排序。
此方法等效于
df.sort_values(columns, ascending=True).head(n),但更具表现力。- 参数
- n集成
要检索的项目数。
- columns列表或字符串
作为排序依据的一个或多个列名。
- keep{‘First’,‘Last’,‘All’},默认为‘First’
其中存在重复值:
first:以第一个事件为例。last:以最后一个事件为例。all:不要丢弃任何重复项,即使这意味着选择超过 n 物品。
- 退货
- DataFrame
参见
DataFrame.nlargest返回第一个 n 行排序依据 columns 按降序排列。
DataFrame.sort_values按值对DataFrame进行排序。
DataFrame.head返回第一个 n 无需重新排序的行。
示例
>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000, ... 434000, 434000, 337000, 337000, ... 11300, 11300], ... 'GDP': [1937894, 2583560 , 12011, 4520, 12128, ... 17036, 182, 38, 311], ... 'alpha-2': ["IT", "FR", "MT", "MV", "BN", ... "IS", "NR", "TV", "AI"]}, ... index=["Italy", "France", "Malta", ... "Maldives", "Brunei", "Iceland", ... "Nauru", "Tuvalu", "Anguilla"]) >>> df population GDP alpha-2 Italy 59000000 1937894 IT France 65000000 2583560 FR Malta 434000 12011 MT Maldives 434000 4520 MV Brunei 434000 12128 BN Iceland 337000 17036 IS Nauru 337000 182 NR Tuvalu 11300 38 TV Anguilla 11300 311 AI
在下面的示例中,我们将使用
nsmallest选择“Popular”列中具有最小值的三行。>>> df.nsmallest(3, 'population') population GDP alpha-2 Tuvalu 11300 38 TV Anguilla 11300 311 AI Iceland 337000 17036 IS
在使用时
keep='last',平局以相反的顺序解决:>>> df.nsmallest(3, 'population', keep='last') population GDP alpha-2 Anguilla 11300 311 AI Tuvalu 11300 38 TV Nauru 337000 182 NR
在使用时
keep='all',则保留所有重复项:>>> df.nsmallest(3, 'population', keep='all') population GDP alpha-2 Tuvalu 11300 38 TV Anguilla 11300 311 AI Iceland 337000 17036 IS Nauru 337000 182 NR
要按“Popular”列中的最小值排序,然后是“GDP”列,我们可以指定多个列,如下例所示。
>>> df.nsmallest(3, ['population', 'GDP']) population GDP alpha-2 Tuvalu 11300 38 TV Anguilla 11300 311 AI Nauru 337000 182 NR