如何识别 Pandas DataFrame 中的所有重复行?

Barbara Streisand
发布: 2024-10-25 15:15:02
原创
987 人浏览过

How to Identify All Duplicate Rows in a Pandas DataFrame?

如何在 Python 中使用 Pandas 获取所有重复项的列表?

问题:

您的 Pandas DataFrame 包含重复行,但使用 duplicated() 方法仅返回第一个重复实例。您需要所有出现的重复行的完整列表以进行手动比较。

解决方案 1:隔离具有重复 ID 的行

  1. 将 Pandas 导入为 pd。
  2. 将数据读入 DataFrame df。
  3. 将 ID 列提取到单独的 Series id 中。
  4. 根据 ID 值是否与中的任何重复 ID 匹配来过滤 df ids[ids.duplicated()]:
<code class="python">df[ids.isin(ids[ids.duplicated()])].sort_values("ID")</code>
登录后复制

虽然此方法有效检索所有重复行,但它会在输出中创建重复的 ID 行。

解决方案 2 :按 ID 分组并过滤重复项

  1. 在 df 上使用 groupby("ID") 按 ID 值对行进行分组。
  2. 过滤结果组以仅保留具有多行的:
<code class="python">pd.concat(g for _, g in df.groupby("ID") if len(g) > 1)</code>
登录后复制

这种方法会产生精简的输出,没有多余的 ID 行。

以上是如何识别 Pandas DataFrame 中的所有重复行?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!