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

使用pandas的df.rename()无法修改带双引号的DataFrame列名怎么办

pandas修改带双引号列名失败的解决方案
  • 问题根因:df.rename()默认对列名执行完全匹配,如果待修改的列名本身包含双引号,你传入的映射key没有完全匹配包含双引号的完整列名字符串,就会匹配失败,无法完成重命名。

解决方法

方法1:严格匹配列名后重命名

  1. 先打印所有列名确认完整字符串格式:
print(df.columns.tolist())

你会看到带双引号的列名实际格式类似'"列名"',即双引号是列名字符串的一部分
2. 写rename映射时将双引号包含在key中:

# 单引号包裹带双引号的列名作为key
df.rename(columns={'"原始带引号列名"': '修改后的列名'}, inplace=True)

# 也可以用双引号转义写法
df.rename(columns={"\"原始带引号列名\"": '修改后的列名'}, inplace=True)

方法2:批量清除所有列名的双引号

如果不需要保留列名中的双引号,可以直接批量处理列名,后续操作更方便:

# 直接替换所有列名中的双引号
df.columns = df.columns.str.replace('"', '', regex=False)

处理完成后所有列名不再包含双引号,之后可以直接用普通的rename操作修改列名。

方法3:用lambda函数动态处理列名

如果只想修改部分带双引号的列名,可以用lambda规则匹配:

df.rename(columns=lambda col: col.replace('"', '').strip() if '"' in col else col, inplace=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 13:27:03