Метод nlargest
Метод nlargest применяется к DataFrame
и возвращает строки с наибольшими значениями в заданном столбце.
Первым параметром передаётся количество строк, вторым -
название столбца или список столбцов для сортировки.
По умолчанию возвращаются строки в порядке убывания значений.
Синтаксис
df.nlargest(n, columns, keep='first')
Параметр keep определяет, как обрабатывать дубликаты.
Возможные значения: first (первые встреченные),
last (последние) и all (все, включая дубликаты).
Пример
Давайте получим 3 строки с наибольшими значениями в столбце a:
import pandas as pd
df = pd.DataFrame({
'a': [1, 5, 3, 8, 2],
'b': [10, 20, 30, 40, 50]
})
print(df.nlargest(3, 'a'))
Результат выполнения кода:
a b
3 8 40
1 5 20
2 3 30
Пример
Давайте получим строки с наибольшими значениями по нескольким столбцам.
Сначала сортировка идёт по столбцу a, затем по b:
import pandas as pd
df = pd.DataFrame({
'a': [1, 5, 5, 8, 2],
'b': [10, 20, 30, 40, 50]
})
print(df.nlargest(3, ['a', 'b']))
Результат выполнения кода:
a b
3 8 40
2 5 30
1 5 20
Пример
Давайте обработаем дубликаты с параметром keep.
Вернутся все строки с одинаковыми значениями:
import pandas as pd
df = pd.DataFrame({
'a': [1, 5, 5, 8, 5],
'b': [10, 20, 30, 40, 50]
})
print(df.nlargest(3, 'a', keep='all'))
Результат выполнения кода:
a b
3 8 40
1 5 20
2 5 30
4 5 50
Пример
Давайте получим 2 наибольшие значения, используя параметр keep='last':
import pandas as pd
df = pd.DataFrame({
'a': [1, 5, 5, 8, 5],
'b': [10, 20, 30, 40, 50]
})
print(df.nlargest(2, 'a', keep='last'))
Результат выполнения кода:
a b
3 8 40
4 5 50
Смотрите также
-
метод
nsmallest,
который возвращает строки с наименьшими значениями -
метод
sort_values,
который сортирует таблицу по значениям столбцов -
метод
max,
который возвращает максимальные значения в столбцах -
метод
idxmax,
который возвращает индексы строк с максимальными значениями