Cumsum as a new column in an existing Pandas dataframe
Asked Answered
C

1

49

I have a pandas dataframe defined as:

A   B   SUM_C      
1   1   10     
1   2   20   

I would like to do a cumulative sum of SUM_C and add it as a new column to the same dataframe. In other words, my end goal is to have a dataframe that looks like below:

A   B   SUM_C   CUMSUM_C       
1   1   10      10     
1   2   20      30   

Using cumsum in pandas on group() shows the possibility of generating a new dataframe where column name SUM_C is replaced with cumulative sum. However, my ask is to add the cumulative sum as a new column to the existing dataframe.

Courses answered 25/1, 2017 at 18:48 Comment(0)
R
93

Just apply cumsum on the pandas.Series df['SUM_C'] and assign it to a new column:

df['CUMSUM_C'] = df['SUM_C'].cumsum()

Result:

df
Out[34]: 
   A  B  SUM_C  CUMSUM_C
0  1  1     10       10
1  1  2     20       30
Reichsmark answered 25/1, 2017 at 18:49 Comment(1)
This will fail if you have two columns with the same name. In that case, rename one of them before proceeding.Routh

© 2022 - 2024 — McMap. All rights reserved.