我有以下多级数据框:

Year   2016                    2017
Quarter  3   4                 1                 2
Month  Sep   Oct   Nov   Dec   Jan  Feb    Mar   Apr   May   Jun
A      0.16  0.95  0.92  0.45  0.30  0.35  0.95  0.88  0.18  0.10
B      0.88  0.67  0.07  0.70  0.74  0.33  0.77  0.21  0.81  0.85
C      0.79  0.56  0.13  0.19  0.94  0.23  0.72  0.62  0.66  0.93

我想总结几个季度,所以最终结果如下:
Year     2016        2017
Quarter  3     4     1     2
A        0.16  2.32  1.60  1.16
B        0.88  1.44  1.85  1.86
C        0.79  0.89  1.89  2.21

我尝试使用以下公式:
df= df.groupby('Quarter').transform('sum')

但我收到此错误:
KeyError: 'Quarter'

显然,这是错误的处理方式。任何人都可以请一个解决方案或接近找到一个。

附加信息
df.index 命令的输出为:Index([u'A', u'B',u'C'],dtype='object', name=u'DF name')
谢谢!

最佳答案

只使用 sum

df.sum(level=[0,1],axis=1)
Out[14]:
year    2016        2017
quater     3     4     1     2
A       0.16  2.32  1.60  1.16
B       0.88  1.44  1.84  1.87
C       0.79  0.88  1.89  2.21

关于python - 如何按多级行对python数据框进行分组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51673220/

10-15 16:13