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

求助:Pandas代码执行时出现KeyError: 'NCT-ID (Total)'错误

问题排查与解决

KeyError: 'NCT-ID (Total)' 直接说明你的DataFrame surgeon 中不存在这个列名,以下是具体排查和解决步骤:

1. 确认DataFrame的所有列名

先运行这段代码,查看surgeon当前的所有列名:

print(surgeon.columns.tolist())

通过输出结果你可以排查:是否存在拼写错误、大小写不一致(比如nct-id (total))、列名含多余空格(比如 NCT-ID (Total)或NCT-ID (Total) ),或是列名被误写为类似NCT-ID(Total)(少了括号前后的空格)。

2. 针对常见列名问题的处理

  • 大小写不一致:统一列名大小写后再操作:
    surgeon.columns = surgeon.columns.str.lower()
    whole_list = ';'.join(surgeon[surgeon['nct-id (total)'].notnull()]['nct-id (total)'].astype(str))
    
  • 列名含前后空格:先清理列名的空格:
    surgeon.columns = surgeon.columns.str.strip()
    # 确认清理后的列名正确后,再执行你的拼接逻辑
    
  • 列名实际名称不同:根据第一步打印出的列名,替换代码中的'NCT-ID (Total)'为正确的列名即可。

3. 简化代码写法

确认列名正确后,你的代码可以简化为链式调用的形式,更简洁高效:

whole_list = ';'.join(surgeon.loc[surgeon['NCT-ID (Total)'].notnull(), 'NCT-ID (Total)'].astype(str))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 15:09:12