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

使用Pandas Merge函数合并数据时如何去除重复的键列

pandas merge关联键重复保留问题解决方案

当使用pd.merge()时,只有通过on参数指定左右DataFrame相同名称的列作为关联键时,才会自动合并为单列不重复。如果你使用left_on + right_on分别指定不同名称的关联键,pandas默认会保留两侧的关联键列,这是符合设计逻辑的,方便用户后续核对关联结果。

两种解决方案

方案1:提前重命名右侧关联键,用on参数合并

提前将右侧的关联键重命名为和左侧一致,直接用on参数关联,只会保留1列关联键:

# 先重命名df2的关联键列
df2_selected = df2[['isin','issue_date']].rename(columns={'isin':'isin_code'})
# 用相同列名关联
result = pd.merge(df1, df2_selected, how='left', on='isin_code')

方案2:合并后删除不需要的重复列

如果不想修改原有合并逻辑,关联完成后直接删除右侧的isin列即可,你已经确认两列取值完全一致,删除后不会影响结果:

# 原有合并逻辑不变
result = pd.merge(df1,df2[['isin','issue_date']],how='left',left_on='isin_code',right_on = 'isin')
# 删除多余的isin列
result = result.drop(columns=['isin'])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 04:42:03