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

如何删除DataFrame重复行并合并同列值的Python实现咨询

Pandas DataFrame 重复行合并去重实现代码

1. 整行完全重复的去重

如果冗余行是整行内容完全一致的情况,直接调用drop_duplicates方法即可快速去重:

import pandas as pd

# 读取原始数据,可根据你的文件格式替换为read_csv、read_table等方法
df = pd.read_excel("原始数据文件路径.xlsx")

# 去重,keep参数可选'first'(保留首次出现的行)、'last'(保留最后出现的行)、False(删除所有重复行)
df_dedup = df.drop_duplicates(keep="first")

2. 主键列重复、其余列内容合并

如果是部分标识列(如ID、姓名等唯一判断字段,即主键列)值重复,需要合并其余列的对应内容,按如下方式实现:

# 替换为你用来判断行重复的主键列列表,比如['用户ID', '订单编号']
primary_key = ['用户ID']

# 定义聚合规则:非主键列的多个有效值用顿号拼接,空值自动忽略
agg_func = {
    col: lambda x: "、".join(x.dropna().astype(str).unique())
    for col in df.columns if col not in primary_key
}

# 按主键分组聚合,得到合并后的结果
df_merged = df.groupby(primary_key, as_index=False).agg(agg_func)

3. 结果导出

处理完成后可导出为常用格式:

# 导出为Excel
df_merged.to_excel("处理后结果.xlsx", index=False)
# 导出为UTF-8编码的CSV,适配中文打开
df_merged.to_csv("处理后结果.csv", index=False, encoding="utf-8-sig")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 04:18:00