pandas.DataFrame.nsmallest#
- DataFrame.nsmallest(n, столбцы, keep='first')[источник]#
Вернуть первый n строки, упорядоченные по столбцы в порядке возрастания.
Вернуть первый n строки с наименьшими значениями в столбцы, в порядке возрастания. Столбцы, которые не указаны, также возвращаются, но не используются для упорядочивания.
Этот метод эквивалентен
df.sort_values(columns, ascending=True).head(n), но более производительный.- Параметры:
- nint
Количество элементов для извлечения.
- столбцыlist или str
Имя столбца или имена для упорядочивания.
- keep{‘first’, ‘last’, ‘all’}, по умолчанию ‘first’
В случаях, когда есть повторяющиеся значения:
first: взять первое вхождение.last: возьмите последнее вхождение.all: сохранять все связи наибольшего элемента, даже если это означает выбор более чемnэлементы.
- Возвращает:
- DataFrame
Смотрите также
DataFrame.nlargestВернуть первый n строки, упорядоченные по столбцы в порядке убывания.
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', количество сохраняемых элементов может превышатьnесли есть повторяющиеся значения для наибольшего элемента, все совпадения сохраняются.>>> 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
Однако,
nsmallestне сохраняетnразличные наименьшие элементы:>>> df.nsmallest(4, '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