pandas.DataFrame.nsmallest
-
DataFrame.nsmallest(self, n, columns, keep='first')[source] -
Возвращает первые
nстроки, отсортированные поcolumnsв порядке возрастания.Возвращает первые
nстроки с наименьшими значениями вcolumns, в порядке возрастания. Столбцы, не указанные в качестве критерия сортировки, также возвращаются, но не используются для сортировки.Этот метод эквивалентен
df.sort_values(columns, ascending=True).head(n), но более производителен.Параметры: -
n : int -
Количество возвращаемых элементов.
-
columns : list or str -
Имя или имена столбцов для сортировки.
-
keep : {‘first’, ‘last’, ‘all’}, default ‘first’ -
Если значения дублируются:
-
first: взять первое вхождение. -
last: взять последнее вхождение. -
all: не пропускать дубликаты, даже если это означает выбор больше, чемnэлементов.
Добавлен в версии 0.24.0.
-
Возвращает: - DataFrame
См. также
-
DataFrame.nlargest - Возвращает первые
nстроки, отсортированные поcolumnsв порядке убывания. -
DataFrame.sort_values - Сортировка DataFrame по значениям.
-
DataFrame.head - Возвращает первые
nстроки без переупорядочения.
Примеры
>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000, ... 434000, 434000, 337000, 11300, ... 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 11300 182 NR Tuvalu 11300 38 TV Anguilla 11300 311 AIВ следующем примере мы воспользуемся
nsmallest, чтобы выбрать три строки с наименьшими значениями в столбце “a”.>>> df.nsmallest(3, 'population') population GDP alpha-2 Nauru 11300 182 NR Tuvalu 11300 38 TV Anguilla 11300 311 AIПри использовании
keep='last', ничьи решаются в обратном порядке:>>> df.nsmallest(3, 'population', keep='last') population GDP alpha-2 Anguilla 11300 311 AI Tuvalu 11300 38 TV Nauru 11300 182 NRПри использовании
keep='all', все дублируемые элементы сохраняются:>>> df.nsmallest(3, 'population', keep='all') population GDP alpha-2 Nauru 11300 182 NR Tuvalu 11300 38 TV Anguilla 11300 311 AIЧтобы отсортировать по наибольшим значениям в столбце “a”, а затем “c”, можно указать несколько столбцов, как в следующем примере.
>>> df.nsmallest(3, ['population', 'GDP']) population GDP alpha-2 Tuvalu 11300 38 TV Nauru 11300 182 NR Anguilla 11300 311 AI -
© 2008–2012, 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/0.25.0/reference/api/pandas.DataFrame.nsmallest.html