Pandas合并两个DataFrame时触发KeyError: 'Unique ID'错误
pandas merge 操作KeyError: 'Unique ID' 问题解决方案
你代码的核心问题是传入merge的右侧子数据集丢失了关联字段:你对DF2做列筛选时仅保留了System、Platform两列,原本存在于原DF2中的Unique ID列被过滤掉了,因此merge操作无法在右侧关联表中找到指定的关联字段,抛出KeyError。
修改后的正确代码如下:
df = pd.merge(DF1, DF2[['Unique ID', 'System', 'Platform']], on='Unique ID', how='left')
如果调整后仍然报错,可按以下步骤逐一排查:
- 检查列名是否存在不可见字符:比如首尾空格、换行符、全角半角符号差异,可执行以下代码打印列名原始值确认差异:
# 打印两个表的列名原始字符,排查隐藏字符问题 print(repr(DF1.columns.tolist())) print(repr(DF2.columns.tolist()))
- 确认
Unique ID是两表的列名而非索引名:如果该字段被设置为某一表的索引,可先通过reset_index()重置索引,或使用left_index/right_index参数指定关联逻辑。
内容的提问来源于stack exchange,提问作者PythonBeginner
相关产品推荐
相关产品推荐

