所以我在使用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?
更新,在
sum
之后使用cumsum
,然后使用merge
返回您可以使用两个独立的
groupby
呼叫获得所需的答案:相关问题 更多 >
编程相关推荐