学习技能、解决问题,我们的目标是 Error: no error
我有一个系列“ s”:
>>>s
1999-03-01 1.0139
1999-03-02 1.0053
1999-03-03 1.0069
1999-03-04 0.9963
1999-03-05 1.0029
1999-03-08 1.0052
1999-03-09 1.0039
...
我正在寻找一种快速灵活的实施方式,使我可以像
>>>s.rolling_pct_change(period=3)
1999-03-01 NaN
1999-03-02 NaN
1999-03-03 NaN
1999-03-04 -0.0173587138771
1999-03-05 -0.00238734706058
1999-03-08 -0.00168835038236
1999-03-09 0.00762822443039
其中每个元素=(element [day]-element [day-period])/ element [day-period]
pct_change()
方法自己吗?
In [265]: s.pct_change(3)
Out[265]:
val
date
1999-03-01 NaN
1999-03-02 NaN
1999-03-03 NaN
1999-03-04 -0.017359
1999-03-05 -0.002387
1999-03-08 -0.001688
1999-03-09 0.007628
或者,使用shift()
建立
In [252]: s/s.shift(3)-1
Out[252]:
val
date
1999-03-01 NaN
1999-03-02 NaN
1999-03-03 NaN
1999-03-04 -0.017359
1999-03-05 -0.002387
1999-03-08 -0.001688
1999-03-09 0.007628
相关问答