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

Python合并多个DataFrame并对重复行仅保留一次的实现方法

多DataFrame合并并全字段去重实现方案

你可以直接通过pandas内置的拼接+去重方法实现需求,不需要额外依赖第三方库,步骤如下:

  • 先将所有需要合并的DataFrame整理到一个列表中,方便统一处理
  • 使用pd.concat()对列表内的所有DataFrame做纵向行拼接,拼接时传入ignore_index=True重置行索引,避免原表索引冲突
  • 拼接完成后调用drop_duplicates()方法,该方法默认会逐行比对所有列的值,完全一致的重复行仅保留1次,同样传入ignore_index=True生成连续的新索引

完整代码示例

import pandas as pd

# 替换成你自己的多个待合并DataFrame变量名
all_dfs = [df1, df2, df3]

# 执行拼接+去重
result = pd.concat(all_dfs, ignore_index=True).drop_duplicates(ignore_index=True)

补充说明

如果你后续有按指定列去重的需求,不需要全字段匹配重复,可以给drop_duplicates()传入subset参数指定判断重复的列,比如仅按user_id和create_time两列判断重复,写法为:

result = pd.concat(all_dfs, ignore_index=True).drop_duplicates(subset=['user_id', 'create_time'], ignore_index=True)

该方案可以完全覆盖你的需求:最终结果会包含所有输入DataFrame的非重复行,完全相同的重复行只会保留一份,和你给出的期望输出逻辑一致。

内容的提问来源于stack exchange,提问作者eleni.ps

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 23:09:23