首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SARIMAX predicted_mean输出

SARIMAX predicted_mean输出
EN

Stack Overflow用户
提问于 2018-12-23 04:39:55
回答 2查看 2.3K关注 0票数 0

我正在使用SARIMAX做一个预测模型,我想添加列标题到输出,但我有麻烦。我可以通过执行.to_csv来绕过它,然后在添加标签之前将它作为一个新的数据格式读取回来,但是我希望能够在一个步骤中完成它,而不是编写另一个文件。

代码语言:javascript
复制
    mod = sm.tsa.statespace.SARIMAX(y,
                                order=(0, 1, 1),
                                seasonal_order=(0, 1, 1, 12),
                                enforce_stationarity=False,
                                enforce_invertibility=False)
    results = mod.fit()
    pred_uc = results.get_forecast(steps = 48)
    pred_ci = pred_uc.conf_int()

    forecast = pd.DataFrame(pred_uc.predicted_mean, columns = ['TIME', 'column_2'])

ValueError:错误的项目数通过1,放置意味着2

ValueError:传递值的形状为(1,48),指数表示(2,48)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-28 06:01:58

经过一段时间的阅读,我最终找到了一个最适合的解决方案,因为每次都会迭代并为结果创建一个新列。

代码语言:javascript
复制
compiled_df[column_2] = forecast[0]
compiled_df.index.name = 'TIME'

谢谢你的帮助

票数 0
EN

Stack Overflow用户

发布于 2018-12-27 00:30:40

pred_uc.predicted_mean是熊猫系列对象,与索引(例如日期索引)相关联。

您可以将其转换为DataFrame (例如,pred_uc.predicted_mean.to_frame() ),但它仍然只有一个列和一个索引。

如果出于某种原因,您必须以所显示的形式保存它,您可以这样做,例如:

代码语言:javascript
复制
pred_uc.predicted_mean.to_frame('column_2').rename_axis('time').reset_index()

这就会给出这样的结果:

代码语言:javascript
复制
    time  column_2
0 2009Q4  3.791093
1 2010Q1  1.864600
2 2010Q2  0.680030
3 2010Q3  2.299168
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53901235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档