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

如何统计Pandas DataFrame中排除原始行的重复行数?

Pandas重复行统计:排除原始行的实现方案

正确统计方法

要统计排除首次出现的原始行后的重复行数,直接用duplicated()的默认行为即可——它默认参数是keep='first',会把除第一次出现外的所有重复行标记为True,对结果求和就是你要的数量:

def count_duplicates_exclude_original(df):
    return df.duplicated().sum()

拿你的测试场景举例:3条完全重复的行,这个函数会返回2,正好符合预期。

为什么之前的尝试出问题

  • 用keep=False时,所有重复行(包括第一次出现的)都会被标记为True,所以求和得到3,这是把所有重复行都算进去了,不符合你的需求。
  • 你说移除keep=False时出现属性缺失错误,十有八九是代码写错了——比如把sum()写成了sum(少了括号)。df.duplicated()返回的是Series对象,它有sum()方法,但没有sum属性,少了括号就会触发属性缺失的报错,补上括号就行。

额外扩展

如果你的需求变成排除最后一次出现的行,只需要把参数改成keep='last':

df.duplicated(keep='last').sum()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 19:45:40