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访问mysql数据库的实现方法(2则示例)
Jan 06 Python
python去除字符串中的换行符
Oct 11 Python
详解Python里使用正则表达式的ASCII模式
Nov 02 Python
读取本地json文件,解析json(实例讲解)
Dec 06 Python
使用Python微信库itchat获得好友和群组已撤回的消息
Jun 24 Python
python如何查看微信消息撤回
Nov 27 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
Aug 09 Python
基于python+selenium的二次封装的实现
Jan 06 Python
python中shell执行知识点
May 06 Python
Python流程控制语句的深入讲解
Jun 15 Python
Python Celery异步任务队列使用方法解析
Aug 10 Python
python批量生成条形码的示例
Oct 10 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
php获取网卡的MAC地址支持WIN/LINUX系统
2014/04/30 PHP
Laravel 解决composer相关操作提示php相关异常的问题
2019/10/23 PHP
传智播客学习之JavaScript基础篇
2009/11/13 Javascript
jQuery chili图片远处放大插件
2009/11/30 Javascript
js 巧妙去除数组中的重复项
2010/01/25 Javascript
Jquery ajax传递复杂参数给WebService的实现代码
2011/08/08 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
2011/09/20 Javascript
js Form.elements[i]的使用实例
2011/11/13 Javascript
推荐9款炫酷的基于jquery的页面特效
2014/12/07 Javascript
JavaScript中length属性的使用方法
2015/06/05 Javascript
基于jQuery仿淘宝产品图片放大镜特效
2020/10/19 Javascript
JS正则替换去空格的方法
2017/03/24 Javascript
JavaScript简单计算人的年龄示例
2017/04/15 Javascript
JS简单添加元素新节点的方法示例
2018/02/10 Javascript
原生JavaScript实现滑动拖动验证的示例代码
2019/12/06 Javascript
js+audio实现音乐播放器
2020/09/13 Javascript
[03:57]2016完美“圣”典风云人物:rOtk专访
2016/12/09 DOTA
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
python设置检查点简单实现代码
2014/07/01 Python
python BeautifulSoup设置页面编码的方法
2015/04/03 Python
Python如何生成树形图案
2018/01/03 Python
解决pandas.DataFrame.fillna 填充Nan失败的问题
2018/11/06 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
Python列表(list)所有元素的同一操作解析
2019/08/01 Python
对python 树状嵌套结构的实现思路详解
2019/08/09 Python
python 实现查询Neo4j多节点的多层关系
2019/12/23 Python
python matplotlib库的基本使用
2020/09/23 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
css3中背景尺寸background-size详解
2014/09/02 HTML / CSS
HTML5中使用json对象的实例代码
2018/09/10 HTML / CSS
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
探索欧洲最好的品牌:Bombinate
2019/06/14 全球购物
二手房买卖协议书
2014/04/10 职场文书
巴西世界杯32强口号
2014/06/05 职场文书
python中pycryto实现数据加密
2022/04/29 Python