Python 熊猫:推断尾部缺失的值

Python 熊猫:推断尾部缺失的值,python,pandas,Python,Pandas,我有一个熊猫数据帧df,它的GDP值也与yyyy-mm时间段索引相同 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 2

我有一个熊猫数据帧df,它的GDP值也与yyyy-mm时间段索引相同

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?我见过一些使用多项式的例子,但这看起来有点过头了()。我想知道是否有更简单的方法。谢谢大家!

通过使用

数据输入

df
Out[195]: 
       Date      GDP
0   2015-07  16528.0
1   2015-08  16534.0
2   2015-09  16541.0
3   2015-10  16548.0
4   2015-11  16556.0
5   2015-12  16564.0
6   2016-01  16572.0
7   2016-02  16602.0
8   2016-03  16633.0
9   2016-04  16664.0
10  2016-05  16702.0
11  2016-06  16740.0
12  2016-07  16778.0
13  2016-08  16803.0
14  2016-09  16827.0
15  2016-10  16851.0
16  2016-11  16869.0
17  2016-12  16886.0
18  2017-01  16903.0
19  2017-02  16946.0
20  2017-03  16988.0
21  2017-04  17031.0
22  2017-05  17075.0
23  2017-06  17120.0
24  2017-07  17164.0
25  2017-08      NaN
26  2017-09      NaN
27  2017-10      NaN
28  2017-11      NaN
29  2017-12      NaN

但是,我已经在上面的代码中尝试了插值。它并没有推断出“2017-12”。它停在“2017-07”。@Zenvega看到订单=2,你加上了吗?@Zenvega这是我根据你的gdp得到的dataset@Zenvega添加数据输入并不要忘记将其赋值回我收到错误:{TypeError:float()参数必须是字符串或数字,而不是'Period'}
df
Out[195]: 
       Date      GDP
0   2015-07  16528.0
1   2015-08  16534.0
2   2015-09  16541.0
3   2015-10  16548.0
4   2015-11  16556.0
5   2015-12  16564.0
6   2016-01  16572.0
7   2016-02  16602.0
8   2016-03  16633.0
9   2016-04  16664.0
10  2016-05  16702.0
11  2016-06  16740.0
12  2016-07  16778.0
13  2016-08  16803.0
14  2016-09  16827.0
15  2016-10  16851.0
16  2016-11  16869.0
17  2016-12  16886.0
18  2017-01  16903.0
19  2017-02  16946.0
20  2017-03  16988.0
21  2017-04  17031.0
22  2017-05  17075.0
23  2017-06  17120.0
24  2017-07  17164.0
25  2017-08      NaN
26  2017-09      NaN
27  2017-10      NaN
28  2017-11      NaN
29  2017-12      NaN