Pandas 模块-操纵数据(8)-去除重复行 .drop_duplicates()

目录

8. 去除重复行 .drop_duplicates()

8.1 .drop_duplicates() 语法

8.1.1 .drop_duplicates() 语法结构

8.1.2 .drop_duplicates() 参数说明

8.2 .drop_duplicates() 范例

8.2.1 subset

8.2.2 keep

8.2.3 inplace

8.2.4 ignore_index

  1. 去除重复行 .drop_duplicates()

8.1 .drop_duplicates() 语法

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

drop_duplicates(subset: 'Optional[Union[Hashable, Sequence[Hashable]]]' = None, keep: 'Union[str, bool]' = 'first', inplace: 'bool' = False, ignore_index: 'bool' = False) -> 'Optional[DataFrame]' method of pandas.core.frame.DataFrame instance
    Return DataFrame with duplicate rows removed.

    Considering certain columns is optional. Indexes, including time indexes
    are ignored.

    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 keep.

        -  : Drop duplicates except for the first occurrence.

        -  : Drop duplicates except for the last occurrence.

        - False : Drop all duplicates.

    inplace : bool, default False
        Whether to drop duplicates in place or to return a copy.

    ignore_index : bool, default False
        If True, the resulting axis will be labeled 0, 1, ..., n - 1.

        .. versionadded:: 1.0.0

    Returns
    -------
    DataFrame or None
        DataFrame with duplicates removed or None if =True.

8.1.1 .drop_duplicates() 语法结构

DataFrame.drop_duplicates(subset: ‘Optional[Union[Hashable, Sequence[Hashable]]]’ = None, keep: ‘Union[str, bool]’ = ‘first’, inplace: ‘bool’ = False, ignore_index: ‘bool’ = False)

8.1.2 .drop_duplicates() 参数说明

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

‘last’:重复的行中,除了最后行,其余删除

False:删除所有重复的行

inplace:布尔值,默认为 False。决定是否原地改变还是返回一个副本。

ignore_index:布尔值,默认为 False。 如果为 True,那么起作用的轴则会标记为 0,1,….n-1

返回值:数据结构为 DataFrame 或者 None。当 inplace=True 且所有的行都被删除时候,得到是 None

8.2 .drop_duplicates() 范例

准备数据

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

Pandas 模块-操纵数据(8)-去除重复行 .drop_duplicates()

8.2.1 subset

默认情况,针对所有列进行判断,4、5 、6 行重复,只保留 4 行

Pandas 模块-操纵数据(8)-去除重复行 .drop_duplicates()

subset 只针对少量列,针对 ‘a’ 列进行判断,3、4、5 、6 行重复,只保留 3 行

Pandas 模块-操纵数据(8)-去除重复行 .drop_duplicates()

8.2.2 keep

keep=’last’,只保留最后一行,针对 ‘a’ 列进行判断,3、4、5 、6 行重复,只保留 6 行

Pandas 模块-操纵数据(8)-去除重复行 .drop_duplicates()

keep=False,删除所有行,针对 ‘a’ 列进行判断,3、4、5 、6 行重复,全部被删除了

Pandas 模块-操纵数据(8)-去除重复行 .drop_duplicates()

8.2.3 inplace

inplace:布尔值,默认为 False。决定是否原地改变还是返回一个副本。

inplace 为 False 时候,不会进行原地改变,而 inplace 设置为 True 时候,会原地改变。

Pandas 模块-操纵数据(8)-去除重复行 .drop_duplicates()

8.2.4 ignore_index

ignore_index:布尔值,默认为 False。 如果为 True,那么起作用的轴则会标记为 0,1,….n-1

为了使用这个参数,重新设计测试数据

dict_data={"a":list("abcdaaa"),"b":list("abfcccc"),"c":list("ggijggg")}
df=pd.DataFrame.from_dict(dict_data)
df.index=["A","B","C","D","E","F","G"]
df

Pandas 模块-操纵数据(8)-去除重复行 .drop_duplicates()

ignore_index=True,起作用的轴则会标记为 0,1,….n-1

#subset 只考虑列 'a',
keep = False,即删除所有重复行
ignore_index=True,起作用的轴则会标记为 0,1,....n-1
df.drop_duplicates(subset=['a'],keep =False,ignore_index=True)

Pandas 模块-操纵数据(8)-去除重复行 .drop_duplicates()

ignore_index=False,保留原来的 index name

#subset 只考虑列 'a',
keep = False,即删除所有重复行
ignore_index=False,保留原来的 index name
df.drop_duplicates(subset=['a'],keep =False,ignore_index=False)

Pandas 模块-操纵数据(8)-去除重复行 .drop_duplicates()

Original: https://blog.csdn.net/u010701274/article/details/121831149
Author: 江南野栀子
Title: Pandas 模块-操纵数据(8)-去除重复行 .drop_duplicates()

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/741296/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 22.【终结篇】poco/airtest+pytest+allure+jenkins框架篇

    如果这些内容对你有帮助,也可以打开微信扫一扫,加关注: 前几篇文章已分享了所有代码层相关内容,并提供了源码文件,接下来看下怎么和jenkins配合使用。 为了更方便获取框架源码,下…

    Python 2023年9月12日
    034
  • 机器学习代码笔记-1-数据预处理

    [[‘France’ 44.0 72000.0] [‘Spain’ 27.0 48000.0] [‘Germany’ 30.0 54000.0] [‘Spain’ 38.0 610…

    Python 2023年10月26日
    036
  • matplotlib图像绘制基础

    matplotlib中有很多个作图元素,如下图: 上图中涵盖了最基本的作图元素,其实还有更多的元素需要注意的,下面我们针对每个元素进行详细说明。 在绘制图像时,会对图像有各种需求,…

    Python 2023年9月1日
    046
  • 记录一次windows 安装 scrapy

    记录一次windows 安装 scrapy 我用的是window 通过命令行安装执行 pip install srcapy 问题 1、缺少 cffi包 。无法安装。手工到 http…

    Python 2023年10月5日
    039
  • 排序算法python版(7)-计数排序算法

    推荐文章 很多小伙伴都发现了,用户自主「申请上首页」的按钮取消了,那博主们写的文章还有上首页曝光的机会吗?我们的回答是”当然有!!!”虽然我们取消了上首页申…

    Python 2023年5月24日
    081
  • 【技术流吃瓜】python可视化大屏舆情分析“张天爱“事件网友评论

    一、事件背景 二、微热点分析 二、自开发Python舆情分析 2.1 Python爬虫 2.2 可视化大屏 2.2.1 大标题 2.2.2 词云图 2.2.3 条形图 2.2.4 …

    Python 2023年5月23日
    0114
  • 2d游戏设计,pygame 游戏开发

    此次作业是使用pygame模块自主设计一款2D游戏。 此次制作的游戏灵感来源于jumpKing,这是一款出售于steam的高技术游戏。 我们选择了他们的操作方式: 需A、D键来控制…

    Python 2023年9月22日
    037
  • 记录Pytest自动化测试脚本中的小点滴

    1.背景 2.问题合集 1)Pytest+allure自动化框架 2)Pytest中几个好用插件 3)判断一个字典在另一个字典中 4)retrying的使用 5)yaml中的变量替…

    Python 2023年9月10日
    040
  • 【日常篇】007_利用pygame实现经典扫雷

    曾经在大二和大三的时候分别尝试用MATLAB和VB.NET去实现扫雷,但分别都因为没搞清扫雷的逻辑和不清楚VB.NET的特性(主要是没有区分开图形界面与游戏逻辑)而放弃了直到202…

    Python 2023年9月18日
    061
  • 【交通数据(1)——加州高速路网PeMS交通数据】

    交通数据(1)——加州高速路网PeMS交通数据 一、PeMS数据介绍 * 1. 数据来源 2. 数据特点 3. 数据诊断与处理 4. PeMS数据格式 二、相关数据下载 * 1. …

    Python 2023年9月29日
    062
  • python数据分析基础知识(一)

    数据分析基础知识(一) NumPy 库 概念与作用 NumPy是一个开源的Python科学计算基础库,还是 Scipy、Pandas 等数据处理或科学计算库的基础 ,它被用于用于科…

    Python 2023年8月24日
    056
  • 测试之路 pytest接口自动化框架-pytest基础使用

    哈喽大家好,我是歪小王,又来给大家分享学习笔记了😄本期内容就围绕pytest的基本使用开始。废话不多说。开整! 01 配置文件 pytest是接口自动化的一个主要角色之一,配置文件…

    Python 2023年9月13日
    056
  • dataframe存到mysql中_pandas实现to_sql将DataFrame保存到数据库中

    在数据分析时,我们有中间结果,或者最终的结果,需要保存到数据库中;或者我们有一个中间的结果,如果放到数据库中通过sql操作会更加的直观,处理后再将结果读取到DataFrame中。这…

    Python 2023年8月8日
    074
  • conda install 和 pip install的区别

    一.范围不同 二.使用条件不同 三.对虚拟环境的管理能力不同 四.可使用包的数量不同 conda和pip一般被认为是几乎相同的,但这两个工具虽然功能存在部分重叠,但其设计的目的是不…

    Python 2023年9月7日
    052
  • 深度学习入门笔记(一)

    用哔哩哔哩上跟着李沐学AI尝试入门深度学习,这里是笔记区,用于记录以整理所学 工具篇 pytorch 类似于numpy中的数组ndarray,pytorch也有自己的数组张量(te…

    Python 2023年8月29日
    053
  • 行政区划代码-5级12位-scrapy版(一)

    CY3761 | 2021-11-18 10:18 行政区划代码-5级12位-scrapy版本 导航: 统计数据 -> 统计标准 -> 统计用区划和城乡划分代码爬取初始…

    Python 2023年10月3日
    039
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球