Учитывая следующий набор данных:
df = pd.DataFrame({'a' : [1, 1, 3],
'b' : [4, 5, 6],
'c' : [7, 8, 9],
'cat_1' : ['a', 'a', 'b'],
'cat_2' : ['a', 'b', 'c']})
df
group_cat = df.groupby(['cat_1', 'cat_2'])
agg_cat = group_cat.agg({'a':['sum','mean'], 'b':['min','max']})
print(agg_cat)
a b
sum mean min max
cat_1 cat_2
a a 1 1 4 4
b 1 1 5 5
b c 3 3 6 6
Использование xs()
Я могу выбрать определенные вложенные столбцы:
print(agg_cat.xs([('a','sum'),('b','max')], axis = 1))
a b
sum max
cat_1 cat_2
a a 1 4
b 1 5
b c 3 6
Но когда я пытаюсь применить ту же логику на уровне строк (axis=0
), я получаю сообщение об ошибке:
print(agg_cat.xs([('a','a'),('b','c')], axis = 0))
KeyError: (('a', 'a'), ('b', 'c'))