【问题标题】:How to resolve error unfunc 'isfinite' in order to create a seasonal statsmodels in python?如何解决错误 unfunc 'isfinite' 以便在 python 中创建季节性统计模型?
【发布时间】:2019-04-08 14:17:01
【问题描述】:

我正在尝试创建一个 ARIMA 模型来进行预测,但是我收到一个错误提示

"ufunc 'isfinite' 不支持输入类型和输入 根据 强制转换规则''安全''"

我正在尝试运行代码:

Data= pd.read_csv(xcjs_2018.csv', low_memory=False) 
Data['day'] = pd.to_datetime(Data['day']) 

from plotly.plotly import plot_mpl from statsmodels.tsa.seasonal
import seasonal_decompose 
result = seasonal_decompose(Data, model= 'multiplicative') 
fig = result.plot()
plot_mpl(fig)

我的数据框如下所示:

Date        Name      COUNT
2018-08-03  XCJS_22   199
2018-08-04  XCJS_22   200
2018-08-06  XCJS_22   151
2018-08-07  XCJS_22   159
2018-08-08  XCJS_22   451
2018-08-15  XCJS_22   217
2018-08-20  XCJS_22   389

Traceback error message 有人知道如何提供帮助吗?

【问题讨论】:

  • 你能告诉我们回溯吗?
  • @Mirac7 在我运行时遇到的回溯错误的问题中添加了一张图片
  • 嗨,请向我们展示您如何将数据加载到数据(数据帧)中的代码。谢谢。
  • 我试图澄清你的代码。错误发生在seasonal_decompose。我不知道那是什么,或者需要什么输入。显然它无法处理您的数据框。该错误表明它需要一个 numpy 数组,而不是数据帧。
  • 如果我的数据框类型不起作用,是否有任何其他预测方法可以用于我的数据框类型而不是 ARIMA?

标签: python plotly jupyter statsmodels forecasting


【解决方案1】:

尝试将日期列创建为索引并使用 freq=1 绘制 Data['Count'] 列。

#reads csv file
Data= pd.read_csv(xcjs_2018.csv', low_memory=False) 
Data['Date'] = pd.to_datetime(Data['Date'])
Data = Data.set_index('Date')

#Plot it
from plotly.plotly import plot_mpl 
from statsmodels.tsa.seasonal import seasonal_decompose 
result = seasonal_decompose(Data.COUNT, model= 'multiplicative', freq=1) 
fig = result.plot()
plot_mpl(fig)  

【讨论】:

  • 感谢您的帮助,但是运行此代码后我仍然收到错误消息 - 运行代码时出现“PlotlyRequestError: No message”
猜你喜欢
  • 2018-04-22
  • 2017-11-19
  • 2018-05-16
  • 2019-07-06
  • 1970-01-01
  • 1970-01-01
  • 2020-07-06
  • 2020-09-18
  • 1970-01-01
相关资源
最近更新 更多