【问题标题】:pandas: How to calculate yearly inflation from monthly data?pandas:如何根据月度数据计算年度通货膨胀率?
【发布时间】: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


【解决方案1】:

用途:

df.groupby(pd.Grouper(freq='A')).cumprod()

【讨论】:

  • 这不起作用奇怪的是,如果我使用 sum() 运行,它会正确地给我聚合值,但如果我使用 cumprod() 运行,它会返回一个值每一个月。看起来 pandas 没有将 cumprod() 视为聚合函数。
  • @neves - 是的,预计它会返回与原始 DataFrame 相同大小的系列。总和,平均聚合数据,cumsumcumproddiff 不是。
  • 所以可能需要先使用sum,然后输出Seriescumproddf.groupby(pd.Grouper(freq='A')).sum().cumprod()
猜你喜欢
  • 1970-01-01
  • 2023-02-24
  • 1970-01-01
  • 1970-01-01
  • 2020-04-27
  • 2019-10-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-14
相关资源
最近更新 更多