You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行Prophet()时报要求ds、y列的ValueError错误该如何解决?

Prophet 列名校验报错排查修复方案

Prophet对输入DataFrame的列名匹配为完全大小写敏感,哪怕存在一个字符的偏差都会触发该报错,按以下步骤逐一排查即可解决:

  • 第一步:校验真实列名,排除肉眼识别误差
    执行以下代码输出精确的列名列表:
print(df.columns.tolist())

你使用的天然气数据集默认列名为Date和Price,如果输出不是['ds', 'y'],直接执行重命名操作:

# 替换为你实际的原始列名即可
df = df.rename(columns={"Date": "ds", "Price": "y"})

特别注意排查列名前后的隐藏空格、大小写错误(如Ds/DS/ ds都属于非法列名)。

  • 第二步:校验ds列格式合法性
    Prophet要求ds列为标准日期类型,而非字符串格式,执行代码校验:
print(df['ds'].dtype)

如果输出不是datetime64类型,手动转换日期格式:

df['ds'] = pd.to_datetime(df['ds'])
  • 第三步:校验y列合法性
    y列必须为数值类型,且不能存在空值,执行代码校验:
print(df['y'].dtype)
print(df['y'].isnull().sum())

如果存在空值,直接删除或按需填充:

# 删除含空值的行
df = df.dropna(subset=['y'])
  • 第四步:重新拟合模型
    完成以上校验后,重置索引避免残留异常值影响,再拟合模型:
m = Prophet()
m.fit(df.reset_index(drop=True))

内容的提问来源于stack exchange,提问作者zizamuft

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 23:09:03