计算 pandas 数据帧与基线值相比的百分比变化

And*_*ndy 5 python dataframe pandas

我有一个 pandas 数据框,我想计算与初始值相比的百分比差异。有没有办法使用 pct_change() 来完成这个任务?

例如

我的数据

 date         close
2020-05-08    100
2020-05-11    102
2020-05-12    108
Run Code Online (Sandbox Code Playgroud)

我希望更改看起来像

 date         close  change (%)
2020-05-08    100     0
2020-05-11    102     2
2020-05-12    108     8
Run Code Online (Sandbox Code Playgroud)

Qua*_*ang 4

你可以做

df['change'] = df['close'].div(df['close'].iloc[0]).sub(1).mul(100)
Run Code Online (Sandbox Code Playgroud)

或者

df['change'] = (df.close/df.close.iloc[0] - 1) * 100
Run Code Online (Sandbox Code Playgroud)

输出:

         date  close  change
0  2020-05-08    100     0.0
1  2020-05-11    102     2.0
2  2020-05-12    108     8.0
Run Code Online (Sandbox Code Playgroud)