我有以下多级数据框:
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/