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

如何在Pandas中检查DataFrame指定列是否存在重复值(无需删除行)

在Pandas中检查指定列是否存在重复值的简便方法

当然有更直接的方式啦!你现在用的比较唯一值数量和总行数的方法是可行的,但Pandas提供了更简洁直观的API来完成这个判断,完全不需要删除行就能知道指定列有没有重复值。

核心方法:duplicated() + any()

Pandas的Series.duplicated()方法会返回一个布尔值的Series,其中每个元素标记对应行是否是重复项(默认会保留第一次出现的行,标记后续的重复行)。配合any()方法,就能快速判断该列是否存在至少一个重复值:

# 检查'Student'列是否存在重复值
has_duplicates = df['Student'].duplicated().any()

# 只有当存在重复时才执行删除操作
if has_duplicates:
    your_remove_duplicates_function(df)

补充说明

  • 如果想标记所有重复行(包括第一次出现的那一行),可以给duplicated()传入keep=False参数:df['Student'].duplicated(keep=False).any(),不过对于“是否存在重复”这个判断来说,两种方式的结果是一致的。
  • 相比你原来的len(df['Student'].unique()) < len(df.index),duplicated().any()的可读性更强,代码也更简洁,底层实现效率也不差。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:22:03