python - 计算 Pandas DataFrame 的百分比变化

标签 python 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

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

                 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/

相关文章:

python - 如何将分数格式的英尺和英寸转换为小数?

python - 从相似度 numpy.ndarray 中获取 top-K 相关文档

python - 如何更快地在文本文件中搜索字符串

java - 将(“decimal(32,9)”转换为输入值0的科学值0E-9

python - 从多个表中提取第一行并添加一列(Python)

python - 将更改为数字代码的分类变量转换回其原始形式

python - 如何使用 Tkinter 在 python 中创建令人印象深刻的 GUI?

python - 如何使用需要用户定义类型表参数的 SQLAlchemy 调用存储过程

python - 根据 Pandas 中的索引范围组合列的行

python - 将pandas数据框的 "Out[]"表另存为图