Spec-Zone.ru › pandas 2

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API