【发布时间】:2019-05-10 22:19:30
【问题描述】:
所以我在使用 pandas 查找累积总和时遇到了一些问题。
我有一个这样的数据框:
df = pd.DataFrame({
'Date': ['2018-04-01', '2018-04-01', '2018-04-01', '2018-05-01', '2018-05-01','2018-05-01','2018-04-01','2018-05-01'],
'Category': ['AA', 'AA', 'AA', 'AA', 'AA','AA','AA','AA'],
'Product': ['a', 'a', 'a', 'a', 'a','a','x','x'],
'Volumes': [10,30,40,50,60,10,1,2]})
Date Category Product Volumes
2018-04-01 AA a 10
2018-04-01 AA a 30
2018-04-01 AA a 40
2018-05-01 AA a 50
2018-05-01 AA a 60
2018-05-01 AA a 10
2018-04-01 AA x 1
2018-05-01 AA x 2
也就是说,有些产品在同一日期重复,有些产品是唯一的。
我想这样求累计和:
df = pd.DataFrame({
'Date': ['2018-04-01', '2018-04-01', '2018-04-01', '2018-05-01', '2018-05-01','2018-05-01','2018-04-01','2018-05-01'],
'Category': ['AA', 'AA', 'AA', 'AA', 'AA','AA','AA','AA'],
'Product': ['a', 'a', 'a', 'a', 'a','a','x','x'],
'Volumes': [80,80,80,190,190,190,1,3]})
Date Category Product Volumes
2018-04-01 AA a 80
2018-04-01 AA a 80
2018-04-01 AA a 80
2018-05-01 AA a 200
2018-05-01 AA a 200
2018-05-01 AA a 200
2018-04-01 AA x 1
2018-05-01 AA x 3
其中 80 是 4 月的总和,200 是 4 月和 5 月的总和。
我试过一个简单的
df.groupby(['Category', 'Product'])['Volumes'].agg(['sum']).reset_index()```
But that doesnt give me the desired output.
Any suggestions?
【问题讨论】: