pandas.DataFrame.nsmallest
- DataFrame.nsmallest(n, columns, keep='first')[source]
-
Возвращает первые n строк, отсортированных по columns в порядке возрастания.
Возвращает первые n строк с наименьшими значениями в columns в порядке возрастания. Столбцы, которые не указаны, также возвращаются, но не используются для сортировки.
Этот метод эквивалентен
df.sort_values(columns, ascending=True).head(n), но более производителен.- Parameters
-
- n:int
-
Количество элементов для извлечения.
- columns:list или str
-
Имя или имена столбцов для сортировки.
- keep:{‘first’, ‘last’, ‘all’}, по умолчанию ‘first’
-
В случае дублирующихся значений:
first: взять первое вхождение.last: взять последнее вхождение.all: не удалять дубликаты, даже если это означает выбор больше n элементов.
- Returns
-
- 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для выбора трех строк с наименьшими значениями в столбце “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', все дублирующиеся элементы сохраняются:>>> 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Чтобы отсортировать по наименьшим значениям в столбце “population”, а затем “GDP”, можно указать несколько столбцов, как в следующем примере.
>>> df.nsmallest(3, ['population', 'GDP']) population GDP alpha-2 Tuvalu 11300 38 TV Anguilla 11300 311 AI Nauru 337000 182 NR
© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/1.5.0/reference/api/pandas.DataFrame.nsmallest.html