【发布时间】:2018-10-03 22:33:37
【问题描述】:
我有一个带有月经膨胀的数据框,它有一个 PeriodIndex:
inflation
month
2016-01 1.27
2016-02 0.90
2016-03 0.43
2016-04 0.61
2016-05 0.78
2016-06 0.35
2016-07 0.52
2016-08 0.44
2016-09 0.08
2016-10 0.26
2016-11 0.18
2016-12 0.30
2017-01 0.38
2017-02 0.33
2017-03 0.25
2017-04 0.14
2017-05 0.31
2017-06 -0.23
2017-07 0.24
2017-08 0.19
2017-09 0.16
2017-10 0.42
2017-11 0.28
2017-12 0.44
我认为每年的通货膨胀会很容易计算,只需重新采样到一年:
(df/100+1).resample('A').cumprod()
但它给了我错误:
AttributeError: 'PeriodIndexResampler' object has no attribute 'cumprod'
它适用于更简单的函数,例如 sum,但我尝试了一些替代方法,但 cumprod 没有汇总结果。
我的预期答案是:
2016 1.062881
2017 1.029473
进行此计算的最佳方法是什么?
这里是复制和粘贴的数据:
python
[[Period('2016-01', 'M'), 1.27],
[Period('2016-02', 'M'), 0.9],
[Period('2016-03', 'M'), 0.43],
[Period('2016-04', 'M'), 0.61],
[Period('2016-05', 'M'), 0.78],
[Period('2016-06', 'M'), 0.35],
[Period('2016-07', 'M'), 0.52],
[Period('2016-08', 'M'), 0.44],
[Period('2016-09', 'M'), 0.08],
[Period('2016-10', 'M'), 0.26],
[Period('2016-11', 'M'), 0.18],
[Period('2016-12', 'M'), 0.3],
[Period('2017-01', 'M'), 0.38],
[Period('2017-02', 'M'), 0.33],
[Period('2017-03', 'M'), 0.25],
[Period('2017-04', 'M'), 0.14],
[Period('2017-05', 'M'), 0.31],
[Period('2017-06', 'M'), -0.23],
[Period('2017-07', 'M'), 0.24],
[Period('2017-08', 'M'), 0.19],
[Period('2017-09', 'M'), 0.16],
[Period('2017-10', 'M'), 0.42],
[Period('2017-11', 'M'), 0.28],
[Period('2017-12', 'M'), 0.44]]
【问题讨论】:
-
预期输出是什么?
标签: pandas