Атрибут ngroups
Атрибут ngroups применяется к объекту GroupBy
и возвращает целое число, равное количеству уникальных групп,
созданных при группировке. Это полезно для быстрой проверки
размера группировки без выполнения агрегирующих операций.
Синтаксис
grouped.ngroups
Пример
Давайте создадим таблицу и сгруппируем её по столбцу a,
затем узнаем количество получившихся групп:
import pandas as pd
df = pd.DataFrame({
'a': [1, 1, 2, 2, 3],
'b': [10, 20, 30, 40, 50]
})
grouped = df.groupby('a')
print(grouped.ngroups)
Результат выполнения кода:
3
Пример
Если сгруппировать по нескольким столбцам, ngroups
вернёт количество уникальных комбинаций значений:
import pandas as pd
df = pd.DataFrame({
'a': [1, 1, 2, 2, 2],
'b': [5, 5, 6, 7, 7],
'c': [100, 200, 300, 400, 500]
})
grouped = df.groupby(['a', 'b'])
print(grouped.ngroups)
Результат выполнения кода:
3
Пример
Атрибут ngroups можно использовать для проверки
наличия групп перед применением методов:
import pandas as pd
df = pd.DataFrame({
'a': [1, 1, 2],
'b': [5, 5, 6]
})
grouped = df.groupby('a')
if grouped.ngroups > 1:
print("Групп больше одной")
else:
print("Всего одна группа")
Результат выполнения кода:
"Групп больше одной"