如何将一列瞬时值转换为Python / Pandas中累积值的列?
例: 我有一个带有列的pandas数据框:
0.1
0.2
0.1
0.4
0.1
我想创建一个包含累计值的新列:
0.1
0.3
0.4
0.8
0.9
我已经尝试过像这样循环:
for i in range(1, data_frame.index.size):
data_frame.new.iloc[i] = data_frame.new.iloc[i-1] + data_frame.old.iloc[i]
它有效,但是花费了不可接受的时间。
答案 0 :(得分:0)
使用cumsum
:
In [157]: df
Out[157]:
0
0 0.1
1 0.2
2 0.1
3 0.4
4 0.1
In [158]: df[0].cumsum()
Out[158]:
0 0.1
1 0.3
2 0.4
3 0.8
4 0.9
Name: 0, dtype: float64