首页 > 解决方案 > 如何在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。

标签: pythonpandas

解决方案


推荐阅读