python statsmodels.tsa.seasonal 中的值错误

Posted

技术标签:

【中文标题】python statsmodels.tsa.seasonal 中的值错误【英文标题】:value error in python statsmodels.tsa.seasonal 【发布时间】:2017-04-09 05:20:46 【问题描述】:

我有这个带有日期时间索引的数据框:

ts_log:
date    price_per_unit
2013-04-04  12.762369
2013-04-05  12.777120
2013-04-06  12.773146
2013-04-07  12.780774
2013-04-08  12.786835

我有decomposition的这段代码

from statsmodels.tsa.seasonal import seasonal_decompose
decomposition = seasonal_decompose(ts_log)

trend = decomposition.trend
seasonal = decomposition.seasonal
residual = decomposition.resid

但是在 decomposition = seasonal_decompose(ts_log)这一行 我收到了这个错误:

ValueError: You must specify a freq or x must be a pandas object with a timeseries index

问题出在哪里?

【问题讨论】:

【参考方案1】:

经过一番搜索,我发现 [这里][1] 我必须将 values 添加到 ts_log.price

decomposition = seasonal_decompose(ts_log.price.values, freq=30)

编辑关于 cmets。只需添加freq=30 就足够了!

【讨论】:

我遇到了类似的错误,但根据错误消息,我猜想添加 freq 参数可以解决问题。 你不是通过添加values来修复它,而是通过添加freq=30来修复它 “freq”到底在做什么?【参考方案2】:

您可以通过以下方式避免此错误:

ts_log = ts_log.asfreq('d')

这可能会产生一些缺失值:

ts_log = ts_log.fillna(method='bfill').fillna(method='ffill')

【讨论】:

【参考方案3】:

以下已解决错误:

decomposition = seasonal_decompose(log_county_data , period = 30)

【讨论】:

以上是关于python statsmodels.tsa.seasonal 中的值错误的主要内容,如果未能解决你的问题,请参考以下文章

Python代写,Python作业代写,代写Python,代做Python

Python开发

Python,python,python

Python 介绍

Python学习之认识python

python初识