Pandas标记删除重复记录的方法


Posted in Python onApril 08, 2018

Pandas提供了duplicated、Index.duplicated、drop_duplicates函数来标记及删除重复记录

duplicated函数用于标记Series中的值、DataFrame中的记录行是否是重复,重复为True,不重复为False

pandas.DataFrame.duplicated(self, subset=None, keep='first')

pandas.Series.duplicated(self, keep='first')

其中参数解释如下:

subset:用于识别重复的列标签或列标签序列,默认所有列标签

keep=‘frist':除了第一次出现外,其余相同的被标记为重复

keep='last':除了最后一次出现外,其余相同的被标记为重复

keep=False:所有相同的都被标记为重复

import numpy as np
import pandas as pd 
#标记DataFrame重复例子
df = pd.DataFrame({'col1': ['one', 'one', 'two', 'two', 'two', 'three', 'four'], 'col2': [1, 2, 1, 2, 1, 1, 1],
   'col3':['AA','BB','CC','DD','EE','FF','GG']},index=['a', 'a', 'b', 'c', 'b', 'a','c'])
#duplicated(self, subset=None, keep='first')
#根据列名标记
#keep='first'
df.duplicated()#默认所有列,无重复记录
df.duplicated('col1')#第二、四、五行被标记为重复
df.duplicated(['col1','col2'])#第五行被标记为重复
#keep='last'
df.duplicated('col1','last')#第一、三、四行被标记重复
df.duplicated(['col1','col2'],keep='last')#第三行被标记为重复
#keep=False
df.duplicated('col1',False)#Series([True,True,True,True,True,False,False],index=['a','a','b','c','b','a','c'])
df.duplicated(['col1','col2'],keep=False)#在col1和col2列上出现相同的,都被标记为重复
type(df.duplicated(['col1','col2'],keep=False))#pandas.core.series.Series
#根据索引标记
df.index.duplicated()#默认keep='first',第二、五、七行被标记为重复
df.index.duplicated(keep='last')#第一、二、三、四被标记为重复
df[df.index.duplicated()]#获取重复记录行
df[~df.index.duplicated('last')]#获取不重复记录行
#标记Series重复例子
#duplicated(self, keep='first')
s = pd.Series(['one', 'one', 'two', 'two', 'two', 'three', 'four'] ,index= ['a', 'a', 'b', 'c', 'b', 'a','c'],name='sname')
s.duplicated()
s.duplicated('last')
s.duplicated(False)
#根据索引标记
s.index.duplicated()
s.index.duplicated('last')
s.index.duplicated(False)

drop_duplicates函数用于删除Series、DataFrame中重复记录,并返回删除重复后的结果

pandas.DataFrame.drop_duplicates(self, subset=None, keep='first', inplace=False)

pandas.Series.drop_duplicates(self, keep='first', inplace=False)

#删除DataFrame重复记录例子 
#drop_duplicates(self, subset=None, keep='first', inplace=False) 
df.drop_duplicates() 
df.drop_duplicates('col1')#删除了df.duplicated('col1')标记的重复记录 
df.drop_duplicates('col1','last')#删除了df.duplicated('col1','last')标记的重复记录 
df1.drop_duplicates(['col1','col2'])#删除了df.duplicated(['col1','col2'])标记的重复记录 
df.drop_duplicates('col1',keep='last',inplace=True)#inplace=True表示在原DataFrame上执行删除操作 
df.drop_duplicates('col1',keep='last',inplace=False)#inplace=False返回一个副本 
#删除Series重复记录例子 
#drop_duplicates(self, keep='first', inplace=False) 
s.drop_duplicates()

以上这篇Pandas标记删除重复记录的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Python的PEAK来适配协议的教程
Apr 14 Python
Python字典实现简单的三级菜单(实例讲解)
Jul 31 Python
PyQt5每天必学之工具提示功能
Apr 19 Python
Python实现的本地文件搜索功能示例【测试可用】
May 30 Python
python实现ID3决策树算法
Aug 29 Python
详解Python学习之安装pandas
Apr 16 Python
wxPython实现绘图小例子
Nov 19 Python
使用apiDoc实现python接口文档编写
Nov 19 Python
Python tkinter模版代码实例
Feb 05 Python
Python 解析pymysql模块操作数据库的方法
Feb 18 Python
Python多线程Threading、子线程与守护线程实例详解
Mar 24 Python
python3让print输出不换行的方法
Aug 24 Python
Python将DataFrame的某一列作为index的方法
Apr 08 #Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
Apr 08 #Python
浅谈pandas中DataFrame关于显示值省略的解决方法
Apr 08 #Python
python3获取两个日期之间所有日期,以及比较大小的实例
Apr 08 #Python
python pandas中DataFrame类型数据操作函数的方法
Apr 08 #Python
python随机取list中的元素方法
Apr 08 #Python
Python实现的端口扫描功能示例
Apr 08 #Python
You might like
获得Google PR值的PHP代码
2007/01/28 PHP
php远程请求CURL实例教程(爬虫、保存登录状态)
2020/12/10 PHP
JavaScript 的方法重载效果
2009/08/07 Javascript
E3 tree 1.6在Firefox下显示问题的修复方法
2013/01/30 Javascript
JS动态获取当前时间,并写到特定的区域
2013/05/03 Javascript
js倒计时抢购实例
2015/12/20 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
2016/02/15 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
2016/05/24 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
jquery获取所有选中的checkbox实现代码
2016/05/26 Javascript
Angular2学习教程之ng中变更检测问题详解
2017/05/28 Javascript
解决vue router使用 history 模式刷新后404问题
2017/07/19 Javascript
教你5分钟学会用requirejs(必看篇)
2017/07/25 Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
2017/08/17 Javascript
jQuery图片加载失败替换默认图片方法汇总
2017/11/29 jQuery
vue实现分页组件
2020/06/16 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
2019/02/27 jQuery
使用localStorage替代cookie做本地存储
2019/09/25 Javascript
angular组件间通讯的实现方法示例
2020/05/07 Javascript
vue中可编辑树状表格的实现代码
2020/10/31 Javascript
[03:17]史诗级大片应援2018DOTA2国际邀请赛 致敬每一位坚守遗迹的勇士
2018/07/20 DOTA
跟老齐学Python之print详解
2014/09/28 Python
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
2016/09/18 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
2017/06/15 Python
Python语言的变量认识及操作方法
2018/02/11 Python
python读写csv文件方法详细总结
2019/07/05 Python
Python基于BeautifulSoup爬取京东商品信息
2020/06/01 Python
Python开发入门——迭代的基本使用
2020/09/03 Python
HTML5实现多张图片上传功能
2016/03/11 HTML / CSS
zooplus波兰:在线宠物店
2019/07/21 全球购物
JavaScript实现页面动态验证码的实现示例
2021/03/23 Javascript
小学生打架检讨书
2014/01/26 职场文书
应聘医药销售自荐书范文
2014/02/08 职场文书
《她是我的朋友》教学反思
2014/04/26 职场文书
幽灵公主观后感
2015/06/09 职场文书
2019年个人工作总结范文(3篇)
2019/08/27 职场文书