python - 如何在python中计算具有初始值的列
问题描述
我有一个如下的数据框(df):
Date rtns
10/1/2000 NaN
11/1/2000 0.015
12/1/2000 -0.007
我想在 2000 年 10 月 1 日从 100.0000 开始添加一列“累计值”,然后在 11 日添加 100*(1+0.015)=101.5; 12 日,101.5*(1-0.007),以此类推..
我努力了:
#添加一个虚拟列,计算累加值:
df['Accumulated Values']=100
acv=df['Accumulated Values']
acv[1:]=(df.rtns[1:]+1)*acv[1:].shift(1)
#添加列
df['Accumulated Values']=acv
问题acv[1:].shift(1)
始终是第一行的 NaN。
解决方案
推荐阅读
- jenkins - Jenkins 共享库 - 导入外部类(无抓取)
- mysql - SQL 查询将根据另一列中的值省略具有相同 ID 的记录
- c# - 如何循环 MoveTowards?
- java - 导入 CSV 文件和导入 json 文件到 MongoDB 的区别
- python - 向字典中预先存在的键添加值?
- ng-packagr - 相对@imports 破坏 ng-packagr 并出现错误“`file` 的返回值必须是字符串”
- mysql - 将csv文件导入MySQL表的单列
- python - 在列表中选择一个随机对象
- c - 如何将带引号的命令传递给 system()?
- ssh - 将 iSeries SFTP 自动化到远程 SFTP 主机