Атрибут groups
Атрибут groups применяется к объекту GroupBy
и возвращает словарь, в котором ключи - это уникальные
значения группировки (или их комбинации), а значения -
массивы индексов строк исходного DataFrame, принадлежащих
соответствующей группе. Это полезно для понимания структуры
групп и отладки.
Синтаксис
grouped.groups
Пример
Рассмотрим базовое использование атрибута groups
для получения словаря групп:
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.groups)
Результат выполнения кода:
{1: [0, 1], 2: [2, 3], 3: [4]}
Пример
Если группировка выполняется по нескольким колонкам, ключи словаря будут кортежами:
import pandas as pd
df = pd.DataFrame({
'a': [1, 1, 2, 2, 1],
'b': [10, 20, 10, 20, 10],
'c': [100, 200, 300, 400, 500]
})
grouped = df.groupby(['a', 'b'])
print(grouped.groups)
Результат выполнения кода:
{(1, 10): [0, 4], (1, 20): [1], (2, 10): [2], (2, 20): [3]}
Пример
Атрибут groups можно использовать для получения
данных определённой группы по её индексам:
import pandas as pd
df = pd.DataFrame({
'a': [1, 1, 2, 2, 3],
'b': [10, 20, 30, 40, 50]
})
grouped = df.groupby('a')
group_indices = grouped.groups[1]
print(df.iloc[group_indices])
Результат выполнения кода:
a b
0 1 10
1 1 20