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

Python中调用列名为时间戳的列时出现KeyError的解决方法

解决调用时间戳列时的KeyError问题

先确认列名的真实状态

先执行以下代码查看DataFrame的所有列名,明确10:05:00列的实际名称:

print(df.columns.tolist())

这能帮你排查列名是否带前后空格、特殊字符,或是被解析成了非字符串类型。

常见问题及解决方法

  • 列名包含前后空格
    从你提供的数据集来看,10:05:00列名前可能存在空格,导致直接用'10:05:00'索引失败。可以先清理列名的空格:

    # 去除所有列名的前后空格
    df.columns = df.columns.str.strip()
    # 现在可以正常调用列并计算总和
    df['10:05:00'] = df['10:05:00'].sum()
    

    或者直接使用带空格的列名索引(如果确认列名前有空格):

    df[' 10:05:00'] = df[' 10:05:00'].sum()
    
  • 列名被解析为时间类型而非字符串
    如果pandas将列名识别为datetime.time对象而非字符串,用字符串索引会触发KeyError。可以将列名转为字符串类型:

    df.columns = df.columns.astype(str)
    df['10:05:00'] = df['10:05:00'].sum()
    

额外验证步骤

如果以上方法无效,检查DataFrame的结构确认目标列是否存在:

# 查看DataFrame的基本信息
df.info()
# 查看前几行数据,确认列的位置和名称
print(df.head())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 19:42:04