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

Python MergeError求助:合并时后缀致重复列不被允许

解决Pandas合并CSV时的MergeError(重复列问题)

问题场景

按照Packt Publishing《Healthcare analytics made simple: Techniques in healthcare computing using machine learning and python》第6章第154页的代码合并多个CSV文件时,触发以下错误:

MergeError: Passing 'suffixes' which cause duplicate columns {'State_x', 'City_x', 'Hospital Name_x', 'County Name_x', 'Address_x'} is not allowed.

排查&解决步骤

  • 先检查待合并的DataFrame:是不是之前的操作已经给列名加上了_x/_y后缀?比如之前做过合并没改后缀,这次再用默认的('_x', '_y')就会重复。
  • 确认合并的主键(on参数)是否正确:如果没指定正确的合并键(比如医院唯一ID),Pandas会对所有同名列生成后缀,容易导致重复。

具体解决方法

  1. 更换不重复的自定义后缀
    把默认的后缀换成不会冲突的标识,比如用对应文件的名称缩写,示例代码:

    # 替换成你实际的DataFrame和合并键
    merged_df = pd.merge(df_hospital, df_quality, on='Hospital ID', suffixes=('_hospital', '_quality'))
    
  2. 提前清理已有重复后缀列
    如果之前的DataFrame已经有_x类后缀,先重命名这些列:

    # 示例:把已有_x后缀的列重命名
    df_hospital.rename(columns={
        'State_x': 'State_original',
        'City_x': 'City_original'
    }, inplace=True)
    

    再执行合并操作。

  3. 核对教材步骤的DataFrame结构
    对比教材154页之前的DataFrame列名,确保你的数据列和教材示例完全一致,没有多出来的后缀列——可能是前面步骤不小心多做了一次合并导致的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 03:22:12