Panda DataFrame 对象提供了一个数据去重的函数 drop_duplicates(),本节对该函数的用法做详细介绍。

格式介绍

drop_duplicates()函数的语法格式如下:

data.drop_duplicates(subset=['a','b','b'],keep='first',inplace=True)

参数说明如下:
subset:表示要进去重的列名,默认为 None。
keep:有三个可选参数,分别是 first、last、False,默认为 first,表示只保留第一次出现的重复项,删除其余重复项,last 表示只保留最后一次出现的重复项,False 则表示删除所有重复项。
inplace:布尔值参数,默认为 False 表示删除重复项后返回一个副本,若为 Ture 则表示直接在原数据上删除重复项。

示例数据

代码:

import pandas as pd
data = pd.DataFrame({'a':[2,1,1,1,1,1,2],'b':[1,3,2,4,1,1,5],'c':[1,3,2,4,1,1,3],'d':[1,3,2,4,1,1,8]
})
print (data)

打印结果

实际应用

1、默认保留第一次出现的重复项
代码:

import pandas as pd
data = pd.DataFrame({'a':[2,1,1,1,1,1,2],'b':[1,3,2,4,1,1,5],'c':[1,3,2,4,1,1,3],'d':[1,3,2,4,1,1,8]
})
data_del = data.drop_duplicates()
print (data_del)

打印结果

2、删除所有重复项
代码:

import pandas as pd
data = pd.DataFrame({'a':[2,1,1,1,1,1,2],'b':[1,3,2,4,1,1,5],'c':[1,3,2,4,1,1,3],'d':[1,3,2,4,1,1,8]
})
data_del = data.drop_duplicates(keep=False)
print (data_del)

打印结果

3、根据指定列标签去重
代码:

import pandas as pd
data = pd.DataFrame({'a':[2,1,1,1,1,1,2],'b':[1,3,2,4,1,1,5],'c':[1,3,2,4,1,1,3],'d':[1,3,2,4,1,1,8]
})
data_del = data.drop_duplicates(subset=['b'],keep=False)
print (data_del)

打印结果

4、指定多列同时去重
代码:

import pandas as pd
data = pd.DataFrame({'a':[2,1,1,1,1,1,2],'b':[1,3,2,4,1,1,5],'c':[1,3,2,4,1,1,3],'d':[1,3,2,4,1,1,8]
})
data_del = data.drop_duplicates(subset=['b','c'],keep=False)
print (data_del)

打印结果

Pandas-去重函数drop_duplicates()详解相关推荐

  1. python dataframe loc函数_python pandas.DataFrame.loc函数使用详解

    官方函数 DataFrame.loc Access a group of rows and columns by label(s) or a boolean array. .loc[] is prim ...

  2. Pandas去重函数:drop_duplicates()

    Pandas去重函数:drop_duplicates() "去重"通过字面意思不难理解,就是删除重复的数据.在一个数据集中,找出重复的数据删并将其删除,最终只保存一个唯一存在的数据 ...

  3. python列转行函数_Python pandas 列转行操作详解(类似hive中explode方法)

    最近在工作上用到Python的pandas库来处理excel文件,遇到列转行的问题.找了一番资料后成功了,记录一下. 1. 如果需要爆炸的只有一列: df=pd.DataFrame({'A':[1,2 ...

  4. python read_excel 参数_对Python 2.7 pandas 中的read_excel详解

    对Python 2.7 pandas 中的read_excel详解 发布时间:2020-08-28 03:32:56 来源:脚本之家 阅读:106 作者:G_66_hero 导入pandas模块: i ...

  5. pandas php,pandas分组聚合代码详解

    pandas分组聚合代码详解 本篇文章小编给大家分享一下pandas分组聚合代码详解,对大家学习pandas分组聚合有一定的帮助,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看 ...

  6. Pandas中resample方法详解

    Pandas中resample方法详解 Pandas中的resample,重新采样,是对原样本重新处理的一个方法,是一个对常规时间序列数据重新采样和频率转换的便捷的方法.重新取样时间序列数据. 方便的 ...

  7. python explode_pandas dataframe 中的explode函数用法详解

    在使用 pandas 进行数据分析的过程中,我们常常会遇到将一行数据展开成多行的需求,多么希望能有一个类似于 hive sql 中的 explode 函数. 这个函数如下: Code # !/usr/ ...

  8. ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多)

    ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多) https://blog.csdn.net/qq_25221835/article/details/82762416 post ...

  9. R语言tidyr包gather()函数实战详解:数据收缩、从宽表到窄表

    R语言tidyr包gather()函数实战详解:数据收缩.从宽表到窄表 目录 R语言tidyr包gather()函数实战详解:数据收缩.从宽表到窄表 收缩两列数据

最新文章

  1. ASP.NET之对称算法加密
  2. android 一个字符串分两行显示_【Android】DataBindinglt;中gt;
  3. linux软件包安装方式汇总
  4. 黑马程序员——iOS学习——启动App界面黑屏
  5. Dubbo面试题锦集
  6. Android开发环境(IDE)
  7. 数学连乘和累加运算符号_数学符号归纳
  8. mysql到es的交叉验证
  9. linux下实现getch()函数的功能,linux下有没有和windows下的getch函数功能基本一样的函数?...
  10. 电路复习——集成运算放大器电阻电路
  11. 产品读书《穷查理宝典:查理.芒格智慧箴言录》
  12. 怎样在视频上加字幕,分享视频添加字幕的小技巧
  13. 微信扫码ios:scanQRCode:the permission value is offline verifying
  14. HTML+CSS实现导航条及下拉菜单
  15. Mysql主从切换自动_keepalived实现对mysql主从复制的主备自动切换
  16. 利率里面的BP是什么意思,bp是什么意思贷款利率
  17. iPad/iPhone与电脑共享文件
  18. 【尚硅谷 Java Web 笔记】表格的跨行跨列
  19. 大数据时代,财务管理人员要成为复合型人才
  20. Java高级面试-面经

热门文章

  1. 万国数据发布新十年战略
  2. 计算机地球一小时word处理,地球一小时策划案
  3. 红旗linux培训文档,红旗RCE培训相关资料
  4. 瘦因吟過萬山歸——半個世紀從事醫學的教訓 裘沛然
  5. python下列数据中不属于字符串的是_下列数据中,不属于字符串的是( )。_学小易找答案...
  6. 这五本书,给你一次彻底读懂Spring的机会
  7. 猿创征文|Android kotlin实现九宫格解锁
  8. 冯诺依曼体系下 计算机主机不包括,2.冯·诺依曼理论体系下的计算机硬件组成包括.doc...
  9. bwl老二吃嘲讽吗_魔兽世界怀旧服bwl老三吃冲击波减不减仇恨?
  10. 第39级台阶问题(递归算法)