Элегантный способ суммирования по дублирующим значениям MultiIndex

У меня есть DataFrame с многоуровневым MultiIndex.

Я знаю, что в MultiIndex есть дубликаты (потому что меня не волнует различие, о котором заботится базовая база данных)

Я хочу подвести итог по этим дубликатам:

>>> x = pd.DataFrame({'month':['Sep', 'Sep', 'Oct', 'Oct'], 'day':['Mon', 'Mon', 'Mon', 'Tue'], 'sales':[1,2,3,4]})
>>> x
   day month  sales
0  Mon   Sep      1
1  Mon   Sep      2
2  Mon   Oct      3
3  Tue   Oct      4
>>> x = x.set_index(['day', 'month'])
           sales
day month       
Mon Sep        1
    Sep        2
    Oct        3
Tue Oct        4

Дать мне

day month       
Mon Sep        3
    Oct        3
Tue Oct        4

Глубоко в этом SO ответе на подобный вопрос является предложение:

df.groupby(level=df.index.names).sum()

Но мне кажется, что это не соответствует критерию " количество читабельности" хорошего кода на Python.

Кто-нибудь знает более читабельный способ?

0 ответов

Другие вопросы по тегам