Python pandas找出、删除重复的数据实例

 更新时间:2022年07月11日 16:42:52   作者:william_cheng666  
在面试中很可能遇到给定一个含有重复元素的列表,删除其中重复的元素,下面这篇文章主要给大家介绍了关于Python pandas找出、删除重复数据的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

前言

当我们使用pandas处理数据的时候,经常会遇到数据重复的问题,如何找出重复数据进而分析重复原因,或者如何直接删除重复的数据是一个关键的步骤,pandas提供了很方便的方法:duplicated()和drop_duplicates()。

一、duplicated()

duplicated()可以被用在DataFrame的三种情况下,分别是pandas.DataFrame.duplicated、pandas.Series.duplicated和pandas.Index.duplicated。他们的用法都类似,前两个会返回一个布尔值的Series,最后一个会返回一个布尔值的numpy.ndarray。

DataFrame.duplicated(subset=None, keep=‘first’)

subset:默认为None,需要标记重复的标签或标签序列

keep:默认为‘first’,如何标记重复标签

  • first:将除第一次出现以外的重复数据标记为True
  • last:将除最后一次出现以外的重复数据标记为True
  • False:将所有重复的项都标记为True(不管是不是第一次出现)

Series.duplicated(keep=‘first’)

keep:与DataFrame.duplicated的keep相同

Index.duplicated(keep=‘first’)

keep:与DataFrame.duplicated的keep相同

例子:

import pandas as pd
df = pd.DataFrame({
    'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],
    'style': ['cup', 'cup', 'cup', 'pack', 'pack'],
    'rating': [4, 4, 3.5, 15, 5]
})
df

    brand style  rating
0  Yum Yum   cup     4.0
1  Yum Yum   cup     4.0
2  Indomie   cup     3.5
3  Indomie  pack    15.0
4  Indomie  pack     5.0 

df.duplicated()

0    False
1     True
2    False
3    False
4    False
dtype: bool

df.duplicated(keep='last')

0     True
1    False
2    False
3    False
4    False
dtype: bool

df.duplicated(keep=False)

0     True
1     True
2    False
3    False
4    False
dtype: bool

df.duplicated(subset=['brand'])

0    False
1     True
2    False
3     True
4     True
dtype: bool

关于Index的重复标记:

df = df.set_index('brand')
df

        style  rating
brand                
Yum Yum   cup     4.0
Yum Yum   cup     4.0
Indomie   cup     3.5
Indomie  pack    15.0
Indomie  pack     5.0

df.index.duplicated()
array([False,  True, False,  True,  True])

二、drop_duplicates()

与duplicated()类似,drop_duplicates()是直接把重复值给删掉。下面只会介绍一些含义不同的参数。

DataFrame.drop_duplicates(subset=None, keep=‘first’, inplace=False)

  • subset:与duplicated()中相同
  • keep:与duplicated()中相同
  • inplace:与pandas其他函数的inplace相同,选择是修改现有数据还是返回新的数据

Series.drop_duplicates()相比Series.duplicated()也是多了一个inplace参数,和上诉介绍一样,Index.drop_duplicates()与Index.duplicated()参数相同就不做赘述。下面是例子:

df = pd.DataFrame({
    'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],
    'style': ['cup', 'cup', 'cup', 'pack', 'pack'],
    'rating': [4, 4, 3.5, 15, 5]
})
df

     brand style  rating
0  Yum Yum   cup     4.0
1  Yum Yum   cup     4.0
2  Indomie   cup     3.5
3  Indomie  pack    15.0
4  Indomie  pack     5.0

df.drop_duplicates()

     brand style  rating
0  Yum Yum   cup     4.0
2  Indomie   cup     3.5
3  Indomie  pack    15.0
4  Indomie  pack     5.0

df.drop_duplicates(inplace = True)

df

     brand style  rating
0  Yum Yum   cup     4.0
2  Indomie   cup     3.5
3  Indomie  pack    15.0
4  Indomie  pack     5.0

总结

有剩余无,pandas有很多好用的库,但是系统学下来很不现实,都是在实际项目中不断的发现、积累、记录下来。

到此这篇关于Python pandas找出、删除重复数据的文章就介绍到这了,更多相关pandas找出删除重复数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • 在Python中如何使用yield

    在Python中如何使用yield

    在 Python 开发中,yield 关键字的使用其实较为频繁,例如大集合的生成,简化代码结构、协程与并发都会用到它,文中详细介绍了yield的用法,需要的朋友可以参考下
    2021-06-06
  • Python+Pygame实现经典魂斗罗游戏

    Python+Pygame实现经典魂斗罗游戏

    《魂斗罗》(Contra)是由Konami于1987年推出的一系列卷轴射击类单机游戏。本文将利用Python中的Pygame库实现这一经典游戏,感兴趣的可以了解一下
    2022-05-05
  • python graphviz画图详情

    python graphviz画图详情

    这篇文章主要介绍了python graphviz画图详情,文章围绕graphviz画图的相关资料展开内容,并附有官方安装链接,需要的小伙伴可以参考一下,洗碗给对你有所帮助
    2021-12-12
  • 快速解释如何使用pandas的inplace参数的使用

    快速解释如何使用pandas的inplace参数的使用

    这篇文章主要介绍了快速解释如何使用pandas的inplace参数的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • python操作mysql实现一个超市管理系统

    python操作mysql实现一个超市管理系统

    超市管理系统有管理员和普通用户两条分支,只需掌握Python基础语法,就可以完成这个项目,下面这篇文章主要给大家介绍了关于python操作mysql实现一个超市管理系统的相关资料,需要的朋友可以参考下
    2022-12-12
  • Python 对象拷贝及深浅拷贝区别的详细教程示例

    Python 对象拷贝及深浅拷贝区别的详细教程示例

    这篇文章主要介绍了Python 对象拷贝及深浅拷贝区别的详细教程示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • 跟老齐学Python之正规地说一句话

    跟老齐学Python之正规地说一句话

    虽然在第一部分中,已经零星涉及到语句问题,并且在不同场合也进行了一些应用。毕竟不那么系统。本部分,就比较系统地介绍python中的语句。
    2014-09-09
  • Python center()函数使用方法详解

    Python center()函数使用方法详解

    在python中,center()返回一个原字符居中,并默认使用空格填充至长度width返回新字符串,默认填充字符为空格,本就将通过代码示例给大家简单的介绍一下Python center()函数是的使用方法,感兴趣的同学跟着小编一起来看看吧
    2023-07-07
  • 多场景下的Pandas使用技巧分享

    多场景下的Pandas使用技巧分享

    这篇文章主要介绍了多场景下的Pandas使用技巧,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • django settings.py 配置文件及介绍

    django settings.py 配置文件及介绍

    Django的settings文件包含Django应用的所有配置项。接下来通过本文给大家介绍django settings.py 配置文件的相关知识,感兴趣的朋友跟随小编一起看看吧
    2019-07-07

最新评论