Метод min
Метод min применяется к объекту GroupBy
и возвращает минимальные значения для каждой группы
по указанным колонкам. Метод позволяет вычислить
минимум как по всем колонкам, так и по выбранным.
По умолчанию метод исключает пропущенные значения
при расчете.
Синтаксис
groupby_obj.min([numeric_only])
Пример
Давайте сгруппируем данные по колонке 'a' и найдем минимальные значения в каждой группе:
import pandas as pd
df = pd.DataFrame({
'a': [1, 1, 2, 2, 3],
'b': [10, 20, 30, 40, 50],
'c': [5, 15, 25, 35, 45]
})
grouped = df.groupby('a')
res = grouped.min()
print(res)
Результат выполнения кода:
b c
a
1 10 5
2 30 25
3 50 45
Пример
Давайте выберем только числовые колонки для подсчета
минимума с помощью параметра numeric_only:
import pandas as pd
df = pd.DataFrame({
'group': ['A', 'A', 'B', 'B', 'C'],
'value': [10, 20, 30, 40, 50],
'flag': [True, False, True, False, True]
})
grouped = df.groupby('group')
res = grouped.min(numeric_only=True)
print(res)
Результат выполнения кода:
value
group
A 10
B 30
C 50
Пример
Давайте сгруппируем по нескольким колонкам и найдем минимальные значения:
import pandas as pd
df = pd.DataFrame({
'cat1': ['X', 'X', 'Y', 'Y', 'Z'],
'cat2': [1, 2, 1, 2, 1],
'val': [100, 200, 150, 250, 300]
})
grouped = df.groupby(['cat1', 'cat2'])
res = grouped.min()
print(res)
Результат выполнения кода:
val
cat1 cat2
X 1 100
2 200
Y 1 150
2 250
Z 1 300
Пример
Давайте найдем минимальные значения в группе с учетом пропущенных данных:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'group': ['A', 'A', 'B', 'B', 'C'],
'value': [10, np.nan, 30, 40, 50],
'score': [1, 2, np.nan, 4, 5]
})
grouped = df.groupby('group')
res = grouped.min()
print(res)
Результат выполнения кода:
value score
group
A 10.0 1.0
B 30.0 NaN
C 50.0 5.0