pandas.DataFrame.nlargest
- DataFrame.nlargest(n, columns, keep='first')[source]
-
Возвращает первые n строк, отсортированные по columns в порядке убывания.
Возвращает первые n строк с наибольшими значениями в columns в порядке убывания. Столбцы, которые не указаны, также возвращаются, но не используются для сортировки.
Этот метод эквивалентен
df.sort_values(columns, ascending=False).head(n), но более производителен.- Параметры:
-
- n:int
-
Количество строк для возврата.
- columns:имя или список имён столбцов
-
Имя(я) столбца(ов) для сортировки.
- keep:{‘first’, ‘last’, ‘all’}, по умолчанию ‘first’
-
В случае дублирующихся значений:
first: приоритет отдаётся первому(ым) вхождению(ям)last: приоритет отдаётся последнему(им) вхождению(ям)all: сохраняются все совпадения наименьшего элемента, даже если это означает выбор больше, чемnэлементов.
- Возвращаемое значение:
-
- DataFrame
-
Первые n строк, отсортированные по заданным столбцам в порядке убывания.
См. также
DataFrame.nsmallest-
Возвращает первые n строк, отсортированные по columns в порядке возрастания.
DataFrame.sort_values-
Сортировка DataFrame по значениям.
DataFrame.head-
Возвращает первые n строк без переупорядочения.
Примечания
Эта функция не может быть использована со всеми типами столбцов. Например, при указании столбцов с типами object или category генерируется
TypeError.Примеры
>>> 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В следующем примере мы воспользуемся
nlargestдля выбора трёх строк с наибольшими значениями в столбце “population”.>>> df.nlargest(3, 'population') population GDP alpha-2 France 65000000 2583560 FR Italy 59000000 1937894 IT Malta 434000 12011 MTПри использовании
keep='last', совпадения разрешаются в обратном порядке:>>> df.nlargest(3, 'population', keep='last') population GDP alpha-2 France 65000000 2583560 FR Italy 59000000 1937894 IT Brunei 434000 12128 BNПри использовании
keep='all', количество сохраняемых элементов может превышатьn, если имеются дублирующиеся значения для наименьшего элемента, сохраняются все совпадения:>>> df.nlargest(3, 'population', keep='all') population GDP alpha-2 France 65000000 2583560 FR Italy 59000000 1937894 IT Malta 434000 12011 MT Maldives 434000 4520 MV Brunei 434000 12128 BNОднако,
nlargestне сохраняетnразличных наибольших элементов:>>> df.nlargest(5, 'population', keep='all') population GDP alpha-2 France 65000000 2583560 FR Italy 59000000 1937894 IT Malta 434000 12011 MT Maldives 434000 4520 MV Brunei 434000 12128 BNЧтобы отсортировать по наибольшим значениям в столбце “population”, а затем “GDP”, можно указать несколько столбцов, как в следующем примере.
>>> df.nlargest(3, ['population', 'GDP']) population GDP alpha-2 France 65000000 2583560 FR Italy 59000000 1937894 IT Brunei 434000 12128 BN
© 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/2.2.2/reference/api/pandas.DataFrame.nlargest.html