pandas.DataFrame.nsmallest # 数据框。nsmallest ( n , columns , keep = 'first' ) [来源] # 返回按列升序排列的前n行。 按升序返回columns中具有最小值的前n行。未指定的列也会返回,但不用于排序。 此方法与 等效 ,但性能更高。df.sort_values(columns, ascending=True).head(n) 参数: 整数要检索的项目数。 列列表或字符串列名或排序依据的名称。 保留{'first', 'last', 'all'}, 默认 'first'如果存在重复值: first: 取第一个出现的地方。 last: 取最后一次出现的位置。 all:保留最大项目的所有关系,即使这意味着选择多个n项目。 返回: 数据框 也可以看看 DataFrame.nlargest返回按列降序排列的前n行。 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“population”列中具有最小值的三行。 >>> 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'保留的元素数量可能会超出,则保留所有联系。n >>> 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 但是,nsmallest不保留n不同的最小元素: >>> df.nsmallest(4, 'population', keep='all') population GDP alpha-2 Tuvalu 11300 38 TV Anguilla 11300 311 AI Iceland 337000 17036 IS Nauru 337000 182 NR 要按“人口”列中的最小值排序,然后按“GDP”列中的最小值排序,我们可以指定多个列,如下例所示。 >>> df.nsmallest(3, ['population', 'GDP']) population GDP alpha-2 Tuvalu 11300 38 TV Anguilla 11300 311 AI Nauru 337000 182 NR