Spec-Zone.ru › pandas 0.25

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

Spec-Zone.ru

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