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

如何通过内连接合并两个DataFrame并避免出现重复列?

解决Pandas合并DataFrame时出现重复类别列的问题

这是合并DataFrame时非常常见的小问题,核心原因是你用left_on='Category'和right_on='CategoryName'指定了不同名称的连接键,所以合并后两个键列都会被保留在结果里。下面给你两种简单直接的解决方案:

方法一:合并前统一连接键的名称

先把第二个DataFrame的CategoryName列重命名为Category,让两个DataFrame的连接键名称保持一致,合并时就不会产生重复列了:

# 重命名df2的列,让连接键和df1匹配
df2_renamed = df2.rename(columns={'CategoryName': 'Category'})
# 使用统一的键列执行合并
result_df = df1.merge(df2_renamed, on='Category', how='inner')

方法二:合并后删除重复列

如果不想修改原DataFrame的结构,可以先执行你原来的合并操作,再直接删除其中一个重复的类别列:

# 执行原始合并逻辑
result_df = df1.merge(df2, left_on='Category', right_on='CategoryName', how='inner')
# 删除重复的CategoryName列,保留原有的Category列
result_df = result_df.drop(columns=['CategoryName'])

两种方法最终得到的结果都会完全符合你的预期:

ItemName Category Element
item1 cat1 element1
item2 cat1 element1
item3 cat1 element1
item4 cat1 element1
item5 cat2 element2
item6 cat2 element2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 20:52:29