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

重命名列后合并Pandas DataFrame报KeyError: 'code',求解决方案

解决合并DataFrame时的KeyError: 'code'问题

问题原因

你只将df_small的列名转为小写,但df_big中用于合并的列名仍为大写(比如CODE),此时用on=['code']合并会因为df_big中不存在code列而报错。另外也需先确认df_small转小写后确实存在code列。

排查步骤

先打印两个DataFrame的列名,确认列名实际情况:

print("df_small转小写后的列名:", df_small.columns)
print("df_big的列名:", df_big.columns)

解决方案

方案1:统一两个DataFrame的列名格式

把df_big的列名也转为小写,再用统一列名合并:

df_small = df_small.rename(columns=str.lower)
df_big = df_big.rename(columns=str.lower)
common = df_small.merge(df_big, on=['code'])

方案2:合并时指定左右各自的列名

无需统一列名,直接通过left_on和right_on分别指定两边的合并列:

df_small = df_small.rename(columns=str.lower)
common = df_small.merge(df_big, left_on='code', right_on='CODE')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 03:10:16