我有一个像这样的 Pandas 数据框:
df = pd.DataFrame({
'Date': ['2018-04-01', '2018-05-01', '2018-06-01', '2018-07-01', '2018-08-01'],
'Product': ['a', 'a', 'a', 'b', 'b'],
'Volumes': [10,30,40,50,60]})
Date Product Volumes
2018-04-01 a 10
2018-05-01 a 30
2018-06-01 a 40
2018-07-01 b 50
2018-08-01 b 60
我想创建一个列,该列仅汇总同一产品之前所有月份的所有交易量。
所需的输出是:
df = pd.DataFrame({
'Date': ['2018-04-01', '2018-05-01', '2018-06-01', '2018-07-01', '2018-08-01'],
'Product': ['a', 'a', 'a', 'b', 'b'],
'Volumes': [10,30,40,50,60],
'Result': [10,40,80,50,110] })
Date Product Volumes Result
2018-04-01 a 10 10
2018-05-01 a 30 40
2018-06-01 a 40 80
2018-07-01 b 50 50
2018-08-01 b 60 110
有没有人对如何做到这一点有任何建议?
谢谢!
用:
df['Result']=df.groupby('Product')['Volumes'].cumsum()
Date Product Volumes Result
0 2018-04-01 a 10 10
1 2018-05-01 a 30 40
2 2018-06-01 a 40 80
3 2018-07-01 b 50 50
4 2018-08-01 b 60 110
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句