python - 前几行值的总和

标签 python pandas dataframe

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

index,value
0,1
1,2
2,3
3,4
4,5

我的目标输出是:

index,value,sum
0,1,1
1,2,3
2,3,6
3,4,10
4,5,15

我知道使用 Excel 很容易做到这一点,但我正在寻找使用 pandas 的解决方案。

我的代码:

import random, pandas

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

df=pandas.DataFrame(recordlist, columns=["Values"])

最佳答案

使用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

或者

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

       value  sum
index            
0          1    1
1          2    3
2          3    6
3          4   10
4          5   15

如果df是一个系列

pd.DataFrame(dict(value=df, sum=df.cumsum())

关于python - 前几行值的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43396855/

相关文章:

python - 如何阻止用户输入 1582 年之前的年份 (Python)

python - 如何在 Pandas 中高效地选择多个值范围?

r - 将命名字符向量转换为 data.frame

python - from_records() 的 nrows 参数在 pandas 中有什么作用?

python - 模拟socket.recv()

python - Python 2.7 中的 MySQL STR_TO_DATE "Incorrect date value"

python - 返回生成器的函数名称

python - 尝试将函数应用于重复列时,Pandas 抛出奇怪的异常

python - 如何在 scikit 学习中对具有多个文本列的数据框进行矢量化而不丢失对原始列的跟踪

r - 如何在R中逐行读取json文件?