计算Pandas DataFrame的百分比变化

abu*_*nte 4 python dataframe pandas

我有以下DataFrame:

                 Value        1lag 
Date                                                                     
2005-04-01  258.682029  214.382786 
2005-05-01  173.253998  258.682029
2005-06-01  244.432029  173.253998
2005-07-01  213.706019  244.432029
2005-08-01  213.670665  213.706019
Run Code Online (Sandbox Code Playgroud)

这些是两个时间序列的绝对值.但是,我不想要那些绝对值,我想要它们的变体,所以它们看起来像这样:

                 Value        1lag 
Date                                                                     
2005-04-01         NaN         NaN 
2005-05-01      0.3302     -0.2066
2005-06-01     -0.4108      0.3302
2005-07-01      0.1257     -0.4108
2005-08-01      0.0002      0.1257
Run Code Online (Sandbox Code Playgroud)

有这么简单的命令吗?如果没有,你的建议是什么?

Ale*_*der 11

您可以pct_change()在数据框上使用.

>>> df.pct_change()
               Value      1lag
Date                          
2005-04-01       NaN       NaN
2005-05-01 -0.330243  0.206636
2005-06-01  0.410831 -0.330243
2005-07-01 -0.125704  0.410831
2005-08-01 -0.000165 -0.125704
Run Code Online (Sandbox Code Playgroud)

将上述结果与您的结果进行比较,您需要使用,-df.pct_change()如果您想要反向更改,就像您所做的那样.