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

Pandas合并DataFrame后访问Age_CONDUCTEUR列触发KeyError求助

解决Pandas中带前导空格列名的KeyError问题

问题核心是Excel表头单元格存在前导空格,Pandas读取时完整保留了这些空格,导致你输入的列名Age_CONDUCTEUR和实际列名 Age_CONDUCTEUR(带空格)不匹配,触发KeyError。

快速解决方案

1. 临时访问(不推荐)

直接使用包含前导空格的列名:

# 注意列名前的空格
df[' Age_CONDUCTEUR']

2. 永久清理列名(推荐)

批量去除所有列名的前后空格,彻底解决问题:

# 清理所有列名的前后空白字符
df.columns = df.columns.str.strip()

# 之后即可正常访问列
d1 = {'Cout_ecreté': pd.Series(df['Cout_ecreté']),
      'Age_CONDUCTEUR': pd.Series(df['Age_CONDUCTEUR'])}

3. 读取Excel时提前处理

在读取文件阶段就清理列名,避免后续操作中反复踩坑:

import pandas as pd

# 读取并立即清理列名
data1 = pd.read_excel('Données production auto A00 MCMA final.xlsx')
data1.columns = data1.columns.str.strip()

data2 = pd.read_excel('Données sinistres auto A00 MCMA final.xlsx')
data2.columns = data2.columns.str.strip()

df = data2.merge(data1, on="clé")

额外优化

如果需要统一列名格式(比如把空格替换为下划线),可以进一步处理:

# 清理空格+替换空格为下划线+转为小写(按需选择)
df.columns = df.columns.str.strip().str.replace('\s+', '_', regex=True).str.lower()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 23:50:30