pandas.DataFrame.nlargest
-
DataFrame.nlargest(n, columns, keep='first')[source] -
Возвращает первые строки, отсортированные по указанным столбцам в порядке убывания.
Возвращает первые строки с наибольшими значениями в указанных столбцах в порядке убывания. Столбцы, не указанные для сортировки, также возвращаются, но не используются для упорядочивания.
Этот метод эквивалентен методу
df.sort_values(columns, ascending=False).head(n), но более производителен.Параметры: n : int
Количество строк для возврата.
columns : имя или список имен столбцов
Имя(а) столбца(ов) для сортировки.
keep : {‘first’, ‘last’}, по умолчанию ‘first’
В случае дублирования значений:
-
first: отдавать приоритет первой(ым) строке(ам) -
last: отдавать приоритет последней(ым) строке(ам)
Возвращает: DataFrame
Первые строки, отсортированные по указанным столбцам в порядке убывания.
См. также
-
DataFrame.nsmallest - Возвращает первые строки, отсортированные по указанным столбцам в порядке возрастания.
-
DataFrame.sort_values - Сортирует DataFrame по значениям.
-
DataFrame.head - Возвращает первые строки без изменения порядка.
Примечания
Данная функция не может быть использована со всеми типами столбцов. Например, при указании столбцов с типами
objectилиcategoryбудет поднята ошибкаTypeError.Примеры
>>> df = pd.DataFrame({'a': [1, 10, 8, 10, -1], ... 'b': list('abdce'), ... 'c': [1.0, 2.0, np.nan, 3.0, 4.0]}) >>> df a b c 0 1 a 1.0 1 10 b 2.0 2 8 d NaN 3 10 c 3.0 4 -1 e 4.0В следующем примере мы будем использовать
nlargestдля выбора трёх строк с наибольшими значениями в столбце “a”.>>> df.nlargest(3, 'a') a b c 1 10 b 2.0 3 10 c 3.0 2 8 d NaNПри использовании
keep='last', значения с одинаковыми значениями сортируются в обратном порядке:>>> df.nlargest(3, 'a', keep='last') a b c 3 10 c 3.0 1 10 b 2.0 2 8 d NaNЧтобы отсортировать по наибольшим значениям в столбце “a”, а затем по “c”, можно указать несколько столбцов, как в следующем примере.
>>> df.nlargest(3, ['a', 'c']) a b c 3 10 c 3.0 1 10 b 2.0 2 8 d NaNПопытка использовать
nlargestс нечисловыми типами данных приведёт к ошибкеTypeError.>>> df.nlargest(3, 'b') Traceback (most recent call last): TypeError: Column 'b' has dtype object, cannot use method 'nlargest'
-
© 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.23.4/generated/pandas.DataFrame.nlargest.html