python - 根据 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
但这对于大型数据集来说太慢了。有没有办法在没有循环的情况下做到这一点?
谢谢
解决方案
推荐阅读
- android - 是否有可能用函数文字序列化 Kotlin Data 类?
- regex - 自动在二元运算符周围添加空格(使用正则表达式匹配 whit emacs)
- c# - Asp.Net MVC 5 中的两个外键
- docker - 无法拉取容器镜像 registry.eu-de.bluemix.net
- azure-devops - 如何允许脚本从 yaml 构建访问 OAuth 令牌
- android - 改造处理令牌过期
- sql - SQL 选择不同 id 的值,其中不是最小值 - 没有子查询 - Oracle SQL
- intellij-idea - 用于使用 intelliJ env 编辑规则文件的 Drools UI
- 3d - 我可以在 3ds Max 中只渲染 Vray ExtraTex
- sql - Access Query中基于项目和日期的运行总计