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实现杨辉三角思路
Jul 14 Python
django rest framework之请求与响应(详解)
Nov 06 Python
利用python如何处理百万条数据(适用java新手)
Jun 06 Python
python中字符串内置函数的用法总结
Sep 13 Python
Python异步操作MySQL示例【使用aiomysql】
May 16 Python
解决.ui文件生成的.py文件运行不出现界面的方法
Jun 19 Python
微信公众号token验证失败解决方案
Jul 22 Python
Pycharm 2019 破解激活方法图文详解
Oct 11 Python
python实现LRU热点缓存及原理
Oct 29 Python
利用pytorch实现对CIFAR-10数据集的分类
Jan 14 Python
PyTorch之nn.ReLU与F.ReLU的区别介绍
Jun 27 Python
Python常用数据分析模块原理解析
Jul 20 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上传文件中文文件名乱码的解决方法
2013/11/01 PHP
thinkPHP实现的联动菜单功能详解
2017/05/05 PHP
php批量转换文件夹下所有文件编码的函数类
2017/08/06 PHP
JavaScript中使用replace结合正则实现replaceAll的效果
2010/06/04 Javascript
jquery 查找iframe父级页面元素的实现代码
2011/08/28 Javascript
深入理解JavaScript编程中的原型概念
2015/06/25 Javascript
巧用数组制作图片切换js代码
2016/11/29 Javascript
js addDqmForPP给标签内属性值加上双引号的函数
2016/12/24 Javascript
将鼠标焦点定位到文本框最后(代码分享)
2017/01/11 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
详解nodejs操作mongodb数据库封装DB类
2017/04/10 NodeJs
JS中关于正则的巧妙操作
2017/08/31 Javascript
原生JS实现的简单小钟表功能示例
2018/08/30 Javascript
JS检测浏览器开发者工具是否打开的方法详解
2020/10/02 Javascript
基于element-ui封装表单金额输入框的方法示例
2021/01/06 Javascript
[03:31]DOTA2英雄基础教程 大地之灵
2013/12/17 DOTA
python通过pip更新所有已安装的包实现方法
2017/05/19 Python
Django在win10下的安装并创建工程
2017/11/20 Python
浅析Python数据处理
2018/05/02 Python
python3.6使用pymysql连接Mysql数据库
2018/05/25 Python
Python图像处理之简单画板实现方法示例
2018/08/30 Python
python web框架中实现原生分页
2019/09/08 Python
Python %r和%s区别代码实例解析
2020/04/03 Python
Python fileinput模块如何逐行读取多个文件
2020/10/05 Python
美国最大的家庭鞋类零售商之一:Shoe Carnival
2017/10/06 全球购物
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
2016/03/27 面试题
单位办理社保介绍信
2014/01/10 职场文书
高中自我评价范文
2014/01/27 职场文书
酒店管理毕业生自我鉴定
2014/03/02 职场文书
房屋出售授权委托书
2014/10/12 职场文书
2014年学校卫生工作总结
2014/11/20 职场文书
2015年员工工作表现评语
2015/03/25 职场文书
升职自荐信范文
2015/03/27 职场文书
写给汽车4S店的创业计划书,拿来即用!
2019/08/09 职场文书
配置nginx 重定向到系统维护页面
2021/06/08 Servers
详细聊聊MySQL中慢SQL优化的方向
2021/08/30 MySQL