Метод nsmallest
Метод nsmallest применяется к DataFrame
и возвращает строки с наименьшими значениями в заданном столбце.
Первым параметром передаётся количество строк, вторым - название столбца.
Метод полезен для быстрого нахождения минимальных элементов без выполнения сортировки всей таблицы.
Синтаксис
df.nsmallest(n, column, keep='first')
Пример
Давайте получим 2 строки с наименьшими значениями в столбце b:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 5, 30, 20, 15]
})
print(df.nsmallest(2, 'b'))
Результат выполнения кода:
a b
1 2 5
4 5 15
Пример
При наличии пропущенных значений метод исключает их из рассмотрения:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, np.nan, 30, 5, 15]
})
print(df.nsmallest(2, 'b'))
Результат выполнения кода:
a b
3 4 5.0
0 1 10.0
Пример
Метод поддерживает параметр keep для управления поведением при равных значениях.
По умолчанию возвращаются первые встреченные строки:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 10, 30, 5, 15]
})
print(df.nsmallest(3, 'b', keep='first'))
Результат выполнения кода:
a b
3 4 5
0 1 10
1 2 10
Пример
Параметр keep со значением last возвращает последние встреченные строки
среди равных значений:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 10, 30, 5, 15]
})
print(df.nsmallest(3, 'b', keep='last'))
Результат выполнения кода:
a b
3 4 5
0 1 10
1 2 10
Смотрите также
-
метод
nlargest,
который возвращает строки с наибольшими значениями в столбце -
метод
sort_values,
который сортирует таблицу по значениям столбца -
метод
min,
который находит минимальное значение в столбце -
метод
idxmin,
который возвращает индекс минимального элемента