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

如何在使用pandas.DataFrame.drop_duplicates前留存被移除的重复数据?

保存pandas中被drop_duplicates移除的重复数据

你可以通过pandas.DataFrame.duplicated()方法先筛选出重复行,再执行去重操作,就能提前保存被移除的内容:

具体步骤与示例

1. 准备示例数据

import pandas as pd

# 创建测试DataFrame
df = pd.DataFrame({
    'A': ['foo', 'bar', 'foo', 'bar', 'foo'],
    'B': [1, 2, 1, 2, 1]
})

2. 保存drop_duplicates默认会移除的重复行

默认drop_duplicates(keep='first')会保留首次出现的行,移除后续重复行。用相同的keep参数调用duplicated(),就能提取这些即将被移除的行:

# 获取即将被移除的重复行
removed_duplicates = df[df.duplicated(keep='first')]
# 执行去重操作
df_clean = df.drop_duplicates(keep='first')

3. 保存所有重复出现的行(含首次出现的行)

如果想保存所有存在重复的行(不止是被移除的,连第一次出现的重复行也包含),可以设置keep=False:

# 获取所有重复行(只要该行有重复项就会被选中)
all_duplicate_rows = df[df.duplicated(keep=False)]

关键说明

  • duplicated()返回布尔值Series,True标记对应行属于重复行,参数keep的规则和drop_duplicates完全一致:
    • keep='first':标记除首次出现外的重复行
    • keep='last':标记除最后一次出现外的重复行
    • keep=False:标记所有重复行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 08:02:08