前一行值的总和

Juh*_*o M 4 python dataframe pandas

如何将以前的行值和当前行值相加到新列?我目前的输出:

index,value
0,1
1,2
2,3
3,4
4,5
Run Code Online (Sandbox Code Playgroud)

我的目标是:

index,value,sum
0,1,1
1,2,3
2,3,6
3,4,10
4,5,15
Run Code Online (Sandbox Code Playgroud)

我知道这很容易用Excel做,但我正在寻找解决方案来做大熊猫.

我的代码:

import random, pandas

recordlist=[1,2,3,4,5]

df=pandas.DataFrame(recordlist, columns=["Values"])
Run Code Online (Sandbox Code Playgroud)

piR*_*red 6

使用 cumsum

df.assign(sum=df.value.cumsum())

       value  sum
index            
0          1    1
1          2    3
2          3    6
3          4   10
4          5   15
Run Code Online (Sandbox Code Playgroud)

要么

df['sum'] = df.value.cumsum()
df

       value  sum
index            
0          1    1
1          2    3
2          3    6
3          4   10
4          5   15
Run Code Online (Sandbox Code Playgroud)

如果df是一个系列

pd.DataFrame(dict(value=df, sum=df.cumsum())
Run Code Online (Sandbox Code Playgroud)