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

去重功能的工作机制:保留首行还是末行?

数据处理去重的工作逻辑与保留规则

数据处理中的去重功能没有统一的默认规则,完全取决于你使用的工具、库或者自定义的处理逻辑——常见的「保留第一行」「保留最后一行」两种策略都有广泛应用,以下是不同场景的具体情况:

  • Excel:自带的「删除重复值」功能默认保留重复组里的第一行,删除后续重复行;但你可以通过「高级筛选」自定义设置为保留最后一行。
  • Python pandas:drop_duplicates() 方法默认保留第一行(对应参数 keep='first'),但可以通过参数灵活修改:
    • 传入 keep='last' 即可保留重复组的最后一行
    • 传入 keep=False 会直接删除所有重复行
      示例代码:
    # 默认保留第一行
    df.drop_duplicates(subset='目标列名')
    # 保留最后一行
    df.drop_duplicates(subset='目标列名', keep='last')
    
  • SQL:DISTINCT 关键字仅返回唯一值,但不会明确指定保留哪一行;如果要精准控制保留第一/最后一行,需要结合排序和窗口函数实现,比如用 ROW_NUMBER() 标记后筛选:
    -- 按id升序,保留每组重复值的第一行
    SELECT * FROM (
        SELECT *, ROW_NUMBER() OVER(PARTITION BY 重复列 ORDER BY id ASC) AS rn
        FROM 数据表
    ) t WHERE rn = 1;
    
    -- 按id降序,保留每组重复值的最后一行
    SELECT * FROM (
        SELECT *, ROW_NUMBER() OVER(PARTITION BY 重复列 ORDER BY id DESC) AS rn
        FROM 数据表
    ) t WHERE rn = 1;
    

简单总结:多数工具的默认行为是保留第一行,但几乎都支持自定义配置成保留最后一行,具体规则完全由你使用的工具参数或自定义逻辑决定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 22:35:30