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

更换数据集运行模型时出现KeyError: 'fbs'报错,是代码还是数据集问题?

报错原因判定

该KeyError: 'fbs'报错属于数据集适配问题,不存在核心代码逻辑错误。

具体根因解释

  • 报错触发位置是dummy = pd.get_dummies(df[col], prefix=col)行,本质是pandas读取的数据集DataFrame中,不存在代码需要调用的fbs列。
  • 你之前使用的测试数据集包含fbs(空腹血糖指标,是标准心血管疾病公开数据集的默认字段),所以代码可正常运行;更换后的新数据集字段结构发生变化,缺少对应字段就触发了异常。

修复方案

  1. 先校验当前数据集的字段结构:读取数据集后先执行print(df.columns.tolist()),确认fbs字段是命名拼写有差异(比如大小写、别名、多了空格/下划线),还是被直接删除。
  2. 根据校验结果做适配:
    • 如果是字段名不一致:将代码中调用的列名修改为和数据集匹配的名称即可
    • 如果是新数据集确实无该字段:增加字段存在性判断逻辑,避免调用不存在的列:
# 独热编码前增加存在性判断
target_cols = ['fbs', 'cp', 'restecg'] # 替换成你需要编码的所有列名
for col in target_cols:
    if col not in df.columns:
        print(f"跳过不存在的字段:{col}")
        continue
    # 原有编码逻辑
    dummy = pd.get_dummies(df[col], prefix=col)
    df = pd.concat([df, dummy], axis=1)
    df.drop(col, axis=1, inplace=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 18:24:04