各个组以前所有日期的熊猫累积总和

时间:2019-05-09 11:56:32

标签: python pandas

我有一个这样的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

有人对此有任何建议吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

使用:

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