【发布时间】:2019-02-10 12:19:34
【问题描述】:
我有数据:df
date col1 col2
0 1/16/2016 apple 20
1 2/1/2016 apple 40
2 2/2/2016 pear 60
3 3/13/2016 apple 10
4 5/4/2016 apple 50
5 6/15/2016 pear 5
使用cumsum(),我可以获得这些值的累积总和。
但如果某月没有值,则值不重复。
df.set_index('date', inplace=True)
df = df.groupby([df.index.month, 'col1']).sum()
df['cumsum'] = df.groupby('col1')['cumsum'].cumsum()
date col1 cumsum
Jan-16 apple 20
Feb-16 apple 60
Feb-16 pear 60
Mar-16 apple 70
May-16 apple 120
Jun-16 pear 65
但我想得到以下结果:即使在该特定月份没有数据,也要重复 col1 值的累积和。
date col1 cumsum
Jan-16 apple 20
Feb-16 apple 60
Feb-16 pear 60
Mar-16 apple 70
Mar-16 pear 60
Apr-16 apple 70
Apr-16 pear 60
May-16 apple 120
May-16 pear 60
Jun-16 apple 120
Jun-16 pear 65
提前感谢您的帮助。
【问题讨论】:
标签: python-3.x pandas pandas-groupby cumsum