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

Azure AutoML时间序列预测出现目标列非数值及列未找到错误

解决方案

1. 先解决"Place列未找到"报错

这个报错的核心原因是特征集X中不存在你指定的列,大概率是以下两种情况:

  • 读取数据集时表头配置错误:调用read_delimited_files()时显式指定header=True,避免第一行数据被识别为列名导致列名错位,配置示例:
    output_tabular_config = output_file_config.read_delimited_files(header=True)
    
  • 列名存在隐藏字符或大小写不匹配:在数据准备步骤末尾添加调试代码,校验读取后的列名是否和预期一致:
    # 打印实际列名和类型
    df = input_dataset.to_pandas_dataframe()
    print("实际列名:", df.columns.tolist())
    print("Place列是否存在:", "Place" in df.columns)
    
    如果发现列名前后带空格、大小写不符,先统一修正列名再传入AutoMLStep:
    # 示例:去除列名前后空格并统一大小写
    df.columns = df.columns.str.strip()
    df.rename(columns={"place": "Place"}, inplace=True)
    

注意:不要给目标列Place配置FeaturizationConfig的列用途,特征配置仅作用于输入特征集X,目标列属于y,不会出现在X中,强制配置必然会触发列不存在报错。

2. 解决"目标列存在非数值"报错

你本地检查数值类型正常但管道报错,通常是数据传递过程中出现了隐式类型转换或异常值,按以下步骤处理:

  • 数据导出时禁用多余格式:前置步骤输出数据到OutputFileDatasetConfig时,不要添加索引列,也不要给数值添加格式符号,导出配置示例:
    df.to_csv(output_path, index=False, encoding="utf-8")
    
  • 读取数据后强制清洗目标列:读取csv后增加类型强制转换和空值处理逻辑,把所有无法转换为数值的内容统一处理:
    # 强制转换为数值,无法转换的内容设为空值
    df["Place"] = pd.to_numeric(df["Place"], errors="coerce")
    # 按业务逻辑处理空值,二选一即可
    df = df.dropna(subset=["Place"]) # 丢弃空值行
    # df["Place"] = df["Place"].fillna(df["Place"].mean()) # 用均值填充空值
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 04:45:04