python statsmodels.tsa.tsa中的值错误
我有一个带有日期时间索引的数据帧:python statsmodels.tsa.tsa中的值错误,python,pandas,statistics,time-series,decomposition,Python,Pandas,Statistics,Time Series,Decomposition,我有一个带有日期时间索引的数据帧: ts_log: 我有这段代码用于分解 from statsmodels.tsa.seasonal import seasonal_decompose decomposition = seasonal_decompose(ts_log) trend = decomposition.trend seasonal = decomposition.seasonal residual = decomposition.resid 但是在这行中,decompositi
ts_log:
我有这段代码用于分解
from statsmodels.tsa.seasonal import seasonal_decompose
decomposition = seasonal_decompose(ts_log)
trend = decomposition.trend
seasonal = decomposition.seasonal
residual = decomposition.resid
但是在这行中,decomposition=季节分解(ts\u log)
我得到了这个错误:
ValueError: You must specify a freq or x must be a pandas object with a timeseries index
问题出在哪里?经过一番搜索,我发现[here][1]我必须将
值添加到ts_log.price
decomposition=季节性分解(ts_log.price.values,freq=30)
编辑评论。只添加freq=30
就足够了 您可以通过以下方式避免此错误:
ts_log = ts_log.asfreq('d')
这可能会生成一些缺少的值:
ts_log = ts_log.fillna(method='bfill').fillna(method='ffill')
以下内容已解决该错误:
decomposition = seasonal_decompose(log_county_data , period = 30)
我也有一个类似的错误,但根据错误消息,我猜添加freq参数可以解决问题。您不是通过添加值来修复它,而是通过添加freq=30
“freq”到底在这里做什么?
decomposition = seasonal_decompose(log_county_data , period = 30)