Pandas:如何使用初始值将 pct_change 恢复为原始值?

J.D*_*J.D 1 python pandas

通常使用 .pct_change() 来获取时间序列数据的每日变化。

现在我想通过使用 pct_change 结果来获得原始值。

我有一个像这样的数据框:

df = pd.DataFrame({
    'value': [44, 45, 33, 56, 60]
})

df['pct_change'] = df['value'].pct_change() # get changes
initial_value=df['value'].values[0] # store the initial value
Run Code Online (Sandbox Code Playgroud)

我如何使用df['pct_change']initial_value来获取df['value']

WeN*_*Ben 6

你可以做cumprod

df['pct_change'].add(1,fill_value=0).cumprod()*44
Out[200]: 
0    44.0
1    45.0
2    33.0
3    56.0
4    60.0
Name: pct_change, dtype: float64
Run Code Online (Sandbox Code Playgroud)