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

如何合并拥有多个相同列的pandas DataFrame且不生成带后缀的重复列

Pandas合并同字段DataFrame避免重复后缀列的方法

核心原理

只要将两个DataFrame共有的Date、Region、District字段显式指定为合并连接键,pandas会自动对齐这些字段的取值,不会生成带.a/.b后缀的重复列。


具体实现方案

方案1:按共同字段关联合并(适用于两个表有其他非共同字段的场景)

使用pd.merge()方法时通过on参数传入共同字段列表即可:

import pandas as pd

# 示例:df1、df2为待合并的两个DataFrame
merged_df = pd.merge(
    left=df1,
    right=df2,
    # 显式指定共同字段为连接键
    on=["Date", "Region", "District"],
    # 可选:指定合并方式,默认inner,可选left/right/outer
    how="inner",
    # 可选:如果有其他非共同键的重名字段,可自定义后缀区分
    suffixes=("_left", "_right")
)

注意:即使不显式指定on参数,pandas也会自动识别所有同名字段作为连接键,不会生成重复后缀,但显式指定可提升代码可读性,避免后续表结构变更后逻辑异常。

方案2:按行拼接(适用于两个表字段完全一致,仅需要合并数据行的场景)

如果两个DataFrame的字段完全相同,只是存储的是不同行的数据,直接用pd.concat()拼接即可:

merged_df = pd.concat([df1, df2], ignore_index=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 20:45:07