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使用Tkinter显示网络图片的方法
Apr 24 Python
python实现颜色空间转换程序(Tkinter)
Dec 31 Python
Python基于scapy实现修改IP发送请求的方法示例
Jul 08 Python
python3.X 抓取火车票信息【修正版】
Jun 19 Python
opencv python 傅里叶变换的使用
Jul 21 Python
win10 64bit下python NLTK安装教程
Sep 19 Python
对python条件表达式的四种实现方法小结
Jan 30 Python
opencv python在视屏上截图功能的实现
Mar 05 Python
设置jupyter中DataFrame的显示限制方式
Apr 12 Python
Python将字典转换为XML的方法
Aug 01 Python
Python变量及数据类型用法原理汇总
Aug 06 Python
Python中request的基本使用解决乱码问题
Apr 12 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 截取字符串函数整理(支持gb2312和utf-8)
2010/02/16 PHP
简单的cookie计数器实现源码
2013/06/07 PHP
详解php比较操作符的安全问题
2015/12/03 PHP
PHP数组内存利用率低和弱类型详细解读
2017/08/10 PHP
php表单处理操作
2017/11/16 PHP
javascript 获取select下拉列表值的代码
2009/09/07 Javascript
复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题
2010/06/21 Javascript
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
基于jQuery实现带动画效果超炫酷的弹出对话框(附源码下载)
2016/02/22 Javascript
关于function类中定义变量this的简单说明
2016/05/28 Javascript
AngularJS基础 ng-options 指令详解
2016/08/02 Javascript
浅谈jQuery效果函数
2016/09/16 Javascript
js实现简易聊天对话框
2017/08/17 Javascript
JavaScript你不知道的一些数组方法
2017/08/18 Javascript
vue.js如何将echarts封装为组件一键使用详解
2017/10/10 Javascript
9种方法优化jQuery代码详解
2020/02/04 jQuery
vue学习笔记之Vue中css动画原理简单示例
2020/02/29 Javascript
Vue将props值实时传递 并可修改的操作
2020/08/09 Javascript
[06:21]2014DOTA2国际邀请赛 庆祝VG首阶段领跑;B叔为挣牛排半夜整理情报
2014/07/13 DOTA
[10:42]Team Liquid Vs Newbee
2018/06/07 DOTA
[01:16:01]VGJ.S vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python新手在作用域方面经常容易碰到的问题
2015/04/03 Python
Python字符串转换成浮点数函数分享
2015/07/24 Python
Python的地形三维可视化Matplotlib和gdal使用实例
2017/12/09 Python
Python之dict(或对象)与json之间的互相转化实例
2018/06/05 Python
python去除文件中重复的行实例
2018/06/29 Python
基于Python在MacOS上安装robotframework-ride
2018/12/28 Python
Python基本数据结构与用法详解【列表、元组、集合、字典】
2019/03/23 Python
连接pandas以及数组转pandas的方法
2019/06/28 Python
python并发编程多进程 模拟抢票实现过程
2019/08/20 Python
科颜氏印度官网:Kiehl’s印度
2021/02/20 全球购物
一岗双责责任书
2014/04/15 职场文书
党的群众路线学习材料
2014/05/16 职场文书
2014七年级班主任工作总结
2014/12/05 职场文书
工程催款通知书
2015/04/17 职场文书
Python selenium的这三种等待方式一定要会!
2021/06/10 Python