Python根据返回创建索引
我有一个投资组合回报的数据框架:Python根据返回创建索引,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个投资组合回报的数据框架: date Portfolio % 30/11/2001 4.8 31/12/2001 -0.7 31/01/2002 1.3 28/02/2002 -1.4 29/03/2002 3.3 我需要创建一个收益指数,但要做到这一点,我需要有一个1.0的起始数字,公式引用前一行。输出应如下所示: date Portfolio % Index 1.0
date Portfolio %
30/11/2001 4.8
31/12/2001 -0.7
31/01/2002 1.3
28/02/2002 -1.4
29/03/2002 3.3
我需要创建一个收益指数,但要做到这一点,我需要有一个1.0的起始数字,公式引用前一行。输出应如下所示:
date Portfolio % Index
1.0 NaN
30/11/2001 4.8 1.048
31/12/2001 -0.7 1.040
31/01/2002 1.3 1.054
28/02/2002 -1.4 1.039
29/03/2002 3.3 1.073
例如,第二个结果的公式为:
1.048*1+-0.7/100
我尝试了以下代码,但没有得到所需的结果
portfolio['Index'] = portfolio['Portfolio %'] / portfolio['Portfolio %'].iloc[0]
我的问题是:
我无法获取起始变量
我无法获取引用前一行的公式。
我相信这和这篇文章是同一个问题。但是,它从未得到完全回答。使用,以及:
结果:
# print(df)
date Portfolio % Index
0 30/11/2001 4.8 1.048000
1 31/12/2001 -0.7 1.040664
2 31/01/2002 1.3 1.054193
3 28/02/2002 -1.4 1.039434
4 29/03/2002 3.3 1.073735
使用,连同:
结果:
# print(df)
date Portfolio % Index
0 30/11/2001 4.8 1.048000
1 31/12/2001 -0.7 1.040664
2 31/01/2002 1.3 1.054193
3 28/02/2002 -1.4 1.039434
4 29/03/2002 3.3 1.073735
你真的希望第一行是1.0 NaN,因为你没有为那一行指定任何索引。只要30/11/2001的结果索引=1.048,我真的不介意。你真的希望第一行是1.0 NaN,因为你没有为那一行指定任何索引。只要30/11/2001的结果索引=1.048,我真的不介意。