首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Facebook Prophet同时预测多个变量

使用Facebook Prophet同时预测多个变量
EN

Stack Overflow用户
提问于 2018-08-03 00:00:36
回答 1查看 3.7K关注 0票数 6

我对Python和Facebook Prophet都是新手,所以这可能是不需要动脑筋的,但我还没能在网上找到答案。

我有一个7列的csv文件。一列包含具有每日增量的日期戳('ds')列,其他6列('y1‘、'y2’、'y3‘等)包含6个变量,其值与日期戳对齐。

与其创建六个不同的两列csv文件并运行Prophet六次(一次只预测一个变量),我希望找到一种方法来一次预测所有六个变量。这是我正在尝试的:

代码语言:javascript
复制
df = pd.read.csv('example_file.csv')
cols = ['y1','y2','y3','y4','y5','y6']
results = []
for col in cols:
    subdf = df[['ds', col]].dropna()
    m = Prophet()
    m.fit(subdf)
    result = m.predict(m.make.future.dataframe(periods = 90))
    results.append(result)
df.predict = pd.concat(results, axis=1)
df.predict.to_csv('example_file.csv')

当我运行它时,我得到了以下错误:

代码语言:javascript
复制
ValueError: Dataframe must have columns 'ds' and 'y' with the dates and values respectively.

任何见解/帮助都将不胜感激。谢谢!

EN

Stack Overflow用户

回答已采纳

发布于 2018-08-03 00:25:31

抱歉,我想发表评论,但我还没有足够的声誉。请重命名循环中的列

代码语言:javascript
复制
subdf = subdf.rename(columns={'ds':'ds', col:'y'})

Prophet强加了严格的条件,即输入列必须命名为ds (时间列)和y(公制列)。

票数 8
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51657884

复制
相关文章

相似问题

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