首页 > 解决方案 > 根据 pandas 中的原始值计算运行总计

问题描述

我希望取初始值 1000 并将其乘以“更改”中的第一个值,然后将该值乘以“更改”列中的第二个值,依此类推。

我可以通过使用如下循环来做到这一点

changes = [0.97,1.02,1.1,0.88,1.01 ]
df = pd.DataFrame()
df['Change'] = changes

df['Total'] = np.nan
df['Total'][0] = 1000*df['Change'][0]
for i in range(1,len(df)):
    df['Total'][i] = df['Total'][i-1] * df['Change'][i]

输出:

   Change      Total
0   0.97    970.000000
1   1.02    989.400000
2   1.10    1088.340000
3   0.88    957.739200
4   1.01    967.316592

但这对于大型数据集来说太慢了。有没有办法在没有循环的情况下做到这一点?

谢谢

标签: pythonpandas

解决方案


推荐阅读