首页 > 解决方案 > 在 pandas 中使用 groupby 绘制累积和

问题描述

我错过了一些非常明显的东西,或者只是做错了。我有两个结构相似的数据框,我正在尝试绘制两者中一列的累积总和的时间序列。数据框按日期索引:

df1
              value
2020-01-01    2435
2020-01-02    12847
...
2020-10-01    34751

该图应按月分组,并且是整个时间范围的累积总和。我试过了:

line1 = df1.groupby(pd.Grouper(freq='1M')).value.cumsum()
line2 = df2.groupby(pd.Grouper(freq='1M')).value.cumsum()

然后绘图,但它会在每个月后重置。我怎样才能改变这个?

标签: pythonpandasmatplotlib

解决方案


我猜你想分组并取平均值或其他东西来表示每个月的累积值,并绘制:

df1 = pd.DataFrame({'value':np.random.randint(100,200,366)},
                   index=pd.date_range(start='1/1/2018', end='1/1/2019'))

df1.cumsum().groupby(pd.Grouper(freq='1M')).mean().plot()

在此处输入图像描述


推荐阅读