Python - Statsmodels.tsa.seasonal_decompose - 数据框的头部和尾部缺失值
Python - Statsmodels.tsa.seasonal_decompose - missing values in head and tail of dataframe
我有以下数据框,我正在调用 "sales_df":
Value
Date
2004-01-01 0
2004-02-01 173
2004-03-01 225
2004-04-01 230
2004-05-01 349
2004-06-01 258
2004-07-01 270
2004-08-01 223
... ...
2015-06-01 218
2015-07-01 215
2015-08-01 233
2015-09-01 258
2015-10-01 252
2015-11-01 256
2015-12-01 188
2016-01-01 70
我想将其趋势与其季节性成分分开,为此我通过以下代码使用 statsmodels.tsa.seasonal_decompose:
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
参数(如您所做),seasonal_decompose
默认使用对称移动平均线。频率是从时间序列中推断出来的。
https://searchcode.com/codesearch/view/86129185/
我有以下数据框,我正在调用 "sales_df":
Value
Date
2004-01-01 0
2004-02-01 173
2004-03-01 225
2004-04-01 230
2004-05-01 349
2004-06-01 258
2004-07-01 270
2004-08-01 223
... ...
2015-06-01 218
2015-07-01 215
2015-08-01 233
2015-09-01 258
2015-10-01 252
2015-11-01 256
2015-12-01 188
2016-01-01 70
我想将其趋势与其季节性成分分开,为此我通过以下代码使用 statsmodels.tsa.seasonal_decompose:
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
参数(如您所做),seasonal_decompose
默认使用对称移动平均线。频率是从时间序列中推断出来的。
https://searchcode.com/codesearch/view/86129185/