Pandas 模块-操纵数据(7)-检测是否重复 .duplicated()

2023-10-26

目录

7. 检测是否重复 .duplicated() 

7.1  .duplicated() 语法

7.1.1 语法结构

7.1.2 参数说明

7.2 .duplicated() 范例

7.2.1  subset 使用

7.2.2 keep 使用


7. 检测是否重复 .duplicated() 

        数据重复是一个特别普遍的现象,但不一定是用户所希望看到的。无论是从数据存储,还是数据利用角度,过多冗余重复的数据都会带来不必要的开支。首先,我们要能检测相关数据是否重复。

7.1  .duplicated() 语法

7.1.1 语法结构

Dataframe.duplicated(subset: 'Optional[Union[Hashable, Sequence[Hashable]]]' = None, keep: 'Union[str, bool]' = 'first')

7.1.2 参数说明

  • subset:列标识或者列的序列,可选。默认值是None,即使用所有的列进行检测,如果 subset 指定了部分列,则只考虑 subset 指定列是否重复。
  • keep:可选的集合  {'first', 'last', False},默认是 ‘first’。这个域决定了如何去标识重复行。

        'first':重复的行中,除了第一行,其余的都标识为 True

        'last':重复的行中,除了最后一行,其余的都标识为 True

        False:把所有重复的行中都标识为 True

返回值:数据结构为一个series,数据类型为布尔值

Help on method duplicated in module pandas.core.frame:

duplicated(subset: 'Optional[Union[Hashable, Sequence[Hashable]]]' = None, keep: 'Union[str, bool]' = 'first') -> 'Series' method of pandas.core.frame.DataFrame instance
    Return boolean Series denoting duplicate rows.
    
    Considering certain columns is optional.
    
    Parameters
    ----------
    subset : column label or sequence of labels, optional
        Only consider certain columns for identifying duplicates, by
        default use all of the columns.
    keep : {'first', 'last', False}, default 'first'
        Determines which duplicates (if any) to mark.
    
        - ``first`` : Mark duplicates as ``True`` except for the first occurrence.
        - ``last`` : Mark duplicates as ``True`` except for the last occurrence.
        - False : Mark all duplicates as ``True``.
    
    Returns
    -------
    Series
        Boolean series for each duplicated rows.

7.2 .duplicated() 范例

这个函数相对来说比较简单

先准备数据

dict_data={"a":list("abcdaf"),"b":list("abfccc"),"c":list("ghijgl")}
df=pd.DataFrame.from_dict(dict_data)
df

7.2.1  subset 使用

默认情况,即对全部列进行检测,没有找到重复的行。 

 只对部分列进行检测,如 'b' 列,3、4、5 行重复,4、5 行被标识为 True

7.2.2 keep 使用

keep=‘last’,即重复行不列出最后一行,3、4、5 行重复,3、4 行被标识为 True

df.duplicated(subset=['b'],keep="last")#subset 只考虑"b",重复行不列出最后一行

 keep=False,即把所有重复的行中都标识为 True,3、4、5 行重复,3、4、5 行都被标识为 True

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas 模块-操纵数据(7)-检测是否重复 .duplicated() 的相关文章

随机推荐

  • OpenGL入门教程之 纹理

    引言 我们已经了解到 我们可以为每个顶点添加颜色来增加图形的细节 从而创建出有趣的图像 但是 如果想让图形看起来更真实 我们就必须有足够多的顶点 从而指定足够多的颜色 这将会产生很多额外开销 因为每个模型都会需求更多的顶点 每个顶点又需求一
  • Java函数式接口

    函数式接口 概念 函数式接口在Java中指的是 有且仅有一个抽象方法的接口就称为函数式接口 函数式接口 适用于函数式编程 在Java中的函数式编程体现在Lambda 所以函数式接口就是用来服务Lambda表达式 只有确保接口当中在有且仅有一
  • .NET跨平台框架选择之一 - Avalonia UI

    1 Avalonia UI简介 Avalonia UI文档教程 https docs avaloniaui net docs getting started 随着跨平台越来越流行 NET支持跨平台至今也有十几年的光景了 Mono开始 但是目
  • vue3+vite中报错Error: Module “path“ has been externalized for browser compatibility...

    前言 vue3 vite遇到的报错信息处理 报错信息 Uncaught in promise Error Module path has been externalized for browser compatibility Cannot
  • Snipaste

    之前朋友给我推荐过一款截图软件 今天呢 阿Q就推荐给大家 Snipaste 下载 官网 https www snipaste com 适用于Windows Mac 使用老版本Windows的小伙伴可以在官网下载绿色版 解压后即可直接使用 软
  • cad立面索引符号 规范_CAD一键生成立面图,我裂开了

    一键生成室内立面图 CAD建筑平面图 使用 索引 符号进行立面图的索引 如何快速的创建出每一个方向 A B C D 对应的立面图 且拥有 门窗 装饰材料 吊顶 地面 标注尺寸 的图纸细节 一键生成室内立面框架 1 绘制好图纸的建筑平面图 常
  • 如何用Idea创建SSM整合框架的简易商城项目实现 - 首页商品查询

    如何用Idea创建SSM整合框架的简易商城项目实现 首页商品查询 介绍 在本篇教程中 我们将使用Idea创建一个简易的商城项目 采用SSM Spring Spring MVC MyBatis 整合框架 并实现首页商品查询功能 通过此项目 您
  • Unity获取Android安卓主页Home键和Back返回键

    如博文无法正常显示 请访问原文地址 https blog csdn net ChinarCSDN article details 82941592 Unity获取安卓键位 本文提供全流程 中文翻译 Chinar 坚持将简单的生活方式 带给世
  • 机器学习知识总结 —— 17.什么是聚类

    文章目录 什么是聚类 聚类与SVM算法的区别是什么 聚类算法的重要知识点 常见聚类算法 K Means聚类 层次聚类 Hierarchical Clustering DBSCAN聚类 基于密度的HDBSCAN 聚类的评价方式 欧几里得距离
  • R语言中的fitted() 和 predict()

    R语言中的fitted 和predict 总结来说 fitted 拟合 是在给定样本上做预测 而predict 预测 是在新的样本上做预测 以前一篇中的数据为例 图片是根据高度 height 来预测体重 weight 其中真实的数据是第一项
  • 开源网盘

    1 Nextcloud 官网 https github com nextcloud NextCloud 以它的高安全性和法规遵从性作为它的一个独特的推崇的卖点 可以在浏览器中使用 也可以安装客户端 支持 Win Mac Android iO
  • Python每日一练(24)-requests 模块获取免费的代理并检测代理 IP 是否有效

    目录 1 通过代理服务发送请求 2 获取免费的代理 IP 3 检测代理 IP 是否有效 1 通过代理服务发送请求 在爬取网页的过程中 经常会出现不久前可以爬取的网页现在无法爬取的情况 这是因为您的 IP 被爬取网站的服务器屏蔽了 此时 代理
  • 软件测试 白盒测试

    实验三 白盒测试 1 实验目的 掌握白盒测试方法及会使用Junit进行测试 2 实验内容 一 使用 java 实现如下功能的程序 输入三条边 a b c 满足 0 lt a lt 200 0 lt b lt 200 0 lt c lt 20
  • 栈的顺序与链式存储结构及实现(C语言)

    目录 1 栈的定义和特点 2 栈的表示和操作的实现 2 1 顺序栈的表示和实现 2 1 1 栈的顺序存储表示 2 1 2 顺序栈的定义与基本操作函数源码 2 2 链栈的表示和实现 2 2 1 栈的链式存储表示 2 2 2 链栈的定义与基本操
  • 阿晨的运维笔记

    开始部署之前 建议先按照Ubuntu切换到国内镜像源操作一下 能省下大把宝贵时间 Kafka的分布式调度是依赖Zookeeper来完成的 所以还没有部署Zookeeper的小伙伴 可以参考我的另一篇博客阿晨的运维笔记 Ubuntu部署Zoo
  • 如何花钱做引流?如何推广付费引流?付费引流有哪些?

    获取流量最直接最快的方式是什么 肯定是付费推广了 只不过付费对于大部分朋友来说是个盲区 只看到了付钱换流量这个表面操作 却没去注意在这个背后 也是一样有很多需要思考的问题 那我们今天就说说如何花钱来做引流 一 搜索流量 也就是大家所熟知的竞
  • curl 忽略https的ssl的证书验证

    今天使用curl 测试url请求出现了需要ssl证书的验证 curl的用法
  • C++ 注释【菜鸟教程】

    程序的注释是解释性语句 您可以在 C 代码中包含注释 这将提高源代码的可读性 所有的编程语言都允许某种形式的注释 C 支持单行注释和多行注释 注释中的所有字符会被 C 编译器忽略 C 注释一般有两种 一般用于单行注释 一般用于多行注释 注释
  • 机器学习之交叉验证(cross-validation,CV)

    机器学习之交叉验证 cross validation CV 人和计算机的主要区别在于人可以对问题进行思考 而计算机只会计算 从AI角度来看 人们将大量无序嘈杂的数据简单清洗之后喂 feed 给计算机 训练使其得出含参数的模型 在模型的基础上
  • Pandas 模块-操纵数据(7)-检测是否重复 .duplicated()

    目录 7 检测是否重复 duplicated 7 1 duplicated 语法 7 1 1 语法结构 7 1 2 参数说明 7 2 duplicated 范例 7 2 1 subset 使用 7 2 2 keep 使用 7 检测是否重复