Python-Statsmodels.tsa.u decompose-数据帧的头部和尾部缺少值

Python-Statsmodels.tsa.u decompose-数据帧的头部和尾部缺少值,python,pandas,statsmodels,Python,Pandas,Statsmodels,我有以下数据框,我称之为“sales_df”: 我想将其趋势与其季节性成分分开,为此,我使用statsmodels.tsa.seasonal_通过以下代码进行分解: decomp=sm.tsa.seasonal_decompose(sales_df.Value) df=pd.concat([sales_df,decomp.trend],axis=1) df.columns=['sales','trend'] 这让我明白: sales trend Date

我有以下数据框,我称之为“sales_df”:

我想将其趋势与其季节性成分分开,为此,我使用statsmodels.tsa.seasonal_通过以下代码进行分解:

decomp=sm.tsa.seasonal_decompose(sales_df.Value)
df=pd.concat([sales_df,decomp.trend],axis=1)
df.columns=['sales','trend']
这让我明白:

            sales       trend
Date                         
2004-01-01      0         NaN
2004-02-01    173         NaN
2004-03-01    225         NaN
2004-04-01    230         NaN
2004-05-01    349         NaN
2004-06-01    258         NaN
2004-07-01    270  236.708333
2004-08-01    223  248.208333
2004-09-01    243  251.250000
...           ...         ...
2015-05-01    270  214.416667
2015-06-01    218  215.583333
2015-07-01    215  212.791667
2015-08-01    233         NaN
2015-09-01    258         NaN
2015-10-01    252         NaN
2015-11-01    256         NaN
2015-12-01    188         NaN
2016-01-01     70         NaN
请注意,在趋势系列的开始和结束时有6个NaN。
所以我问,是这样吗?为什么会发生这种情况?

这是因为如果没有指定
filt
参数(如您所做的那样),那么
季节分解默认使用对称移动平均值。频率是从时间序列推断出来的。

你能告诉我怎么才能没有那些NaN's吗?
            sales       trend
Date                         
2004-01-01      0         NaN
2004-02-01    173         NaN
2004-03-01    225         NaN
2004-04-01    230         NaN
2004-05-01    349         NaN
2004-06-01    258         NaN
2004-07-01    270  236.708333
2004-08-01    223  248.208333
2004-09-01    243  251.250000
...           ...         ...
2015-05-01    270  214.416667
2015-06-01    218  215.583333
2015-07-01    215  212.791667
2015-08-01    233         NaN
2015-09-01    258         NaN
2015-10-01    252         NaN
2015-11-01    256         NaN
2015-12-01    188         NaN
2016-01-01     70         NaN