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

如何用pandas一行代码识别重复值(以查找重复邮箱为例)

解答

完全可以省略临时变量,改写为一行代码,和你原有逻辑输出完全一致的实现如下:

# 输出重复邮箱+对应出现次数,和原有三行逻辑结果一致
df.value_counts().to_frame(name='count').query('count > 1')

逻辑说明

原有三行代码的核心是三个步骤:对email列做频次统计、转DataFrame并重命名列、过滤出出现次数大于1的记录,通过pandas的链式调用即可合并为单行:

  • df.value_counts():完成email字段的频次统计,返回带索引的Series
  • to_frame(name='count'):将Series转为DataFrame的同时直接指定列名,替代单独给columns赋值的步骤
  • query('count > 1'):完成过滤逻辑,也可以用布尔索引写法[lambda x: x['count'] > 1]替代,效果完全一致

如果你是要返回所有出现过重复的原始邮箱记录(比如出现两次的a会返回两条对应的行,而非去重后的一条统计记录),可以用更简洁的一行写法:

# 输出所有重复的原始行,包含所有重复出现的邮箱条目
df[df.duplicated(subset='email', keep=False)]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 18:27:03