【发布时间】:2017-12-28 02:08:33
【问题描述】:
我有一个 pandas 数据框 df,它的 GDP 值也带有 yyyy-mm TimePeriod 索引。
import numpy as np
import pandas as pd
import pandas_datareader.data as web
gdp = web.DataReader("GDP", "fred", start, end).resample('M').mean().interpolate(method='linear').round().to_period('M')
Date GDP
2015-07 16528.0
2015-08 16534.0
2015-09 16541.0
2015-10 16548.0
2015-11 16556.0
2015-12 16564.0
2016-01 16572.0
2016-02 16602.0
2016-03 16633.0
2016-04 16664.0
2016-05 16702.0
2016-06 16740.0
2016-07 16778.0
2016-08 16803.0
2016-09 16827.0
2016-10 16851.0
2016-11 16869.0
2016-12 16886.0
2017-01 16903.0
2017-02 16946.0
2017-03 16988.0
2017-04 17031.0
2017-05 17075.0
2017-06 17120.0
2017-07 17164.0
2017-08 NaN
2017-09 NaN
2017-10 NaN
2017-11 NaN
2017-12 NaN
GDP 每季度发布一次。最新数据点是 2017 年第三季度。因此,我重新采样以获得每月值并在缺少值时进行插值。如何通过使用样条曲线或 3 个月移动平均线等来推断在今年余下的时间里填充 NaN 的剩余部分?我见过一些使用多项式的例子,但这看起来像是过度的东西(pandas extrapolation of polynomial)。我想知道是否有更简单的方法。谢谢!
【问题讨论】: