多索引pandas数据帧上的cumsum()

时间:2018-05-17 21:05:34

标签: python pandas pandas-groupby

我有一个多索引数据框,显示每月频率的交易总和。

我试图每年获得一个尊重我的'mapid'和'service'多指数的cumsum()。但是我不知道如何推导出那些数据

combined_df = combined_df.groupby([pd.Grouper(freq='M'), 'provider', 'mapid', 'service']).sum()


                                                 cost
datetime   provider mapid   service                  
2017-08-31 Amazon   10147.0 Monitor              0.41
                            Storage             90.51
                            Virtual Machine  11646.32
2017-09-30 Amazon   10147.0 Monitor              0.89
                            Storage            226.06
                            Virtual Machine  32624.91
2017-10-31 Amazon   10147.0 Monitor              0.17
                            Storage            261.72
                            Virtual Machine  36934.93
2017-11-30 Amazon   10147.0 Monitor              0.35
                            Storage            269.06
                            Virtual Machine  30790.70

我想得出以下结果

enter image description here

1 个答案:

答案 0 :(得分:3)

MultiIndex的最后一级进行分组,并致电DataFrameGroupBy.cumsum

combined_df['cumsum'] = combined_df.groupby(level=-1)['cost'].cumsum()