我有以下数据框:
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
那些是两个时间序列的绝对值。但是,我不想要那些绝对值,我想要它们的变化,所以它们看起来像这样:
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
是否有一个简单的命令可以做到这一点?如果没有,您对实现该结果有何建议?
最佳答案
您可以只在数据帧上使用 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
将上面的结果与您的结果进行比较,如果您想要像您所做的那样反转更改,则需要使用 -df.pct_change()
。
关于python - 计算 Pandas DataFrame 的百分比变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35181265/