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中使用base64模块处理字符编码的教程
Apr 28 Python
Python实现压缩和解压缩ZIP文件的方法分析
Sep 28 Python
python使用Plotly绘图工具绘制水平条形图
Mar 25 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
Apr 27 Python
Python3 Tkinter选择路径功能的实现方法
Jun 14 Python
Python数据分析模块pandas用法详解
Sep 04 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
Nov 26 Python
解决安装pyqt5之后无法打开spyder的问题
Dec 13 Python
手把手教你进行Python虚拟环境配置教程
Feb 03 Python
如何理解Python中包的引入
May 29 Python
Python openpyxl模块实现excel读写操作
Jun 30 Python
python井字棋游戏实现人机对战
Apr 28 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实现登陆验证码(类似条行码状)
2006/10/09 PHP
PHP中MD5函数使用实例代码
2008/06/07 PHP
php抽象类用法实例分析
2015/07/07 PHP
ThinkPHP的常用配置选项汇总
2016/03/24 PHP
基于jquery实现的表格分页实现代码
2011/06/21 Javascript
js中浮点型运算BUG的解决方法说明
2014/01/06 Javascript
JavaScript通过this变量快速找出用户选中radio按钮的方法
2015/03/23 Javascript
javascript中JSON.parse()与eval()解析json的区别
2016/05/19 Javascript
jquery pagination分页插件使用详解(后台struts2)
2017/01/22 Javascript
Vue动态实现评分效果
2017/05/24 Javascript
vue中v-model的应用及使用详解
2018/06/27 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
2019/03/15 Javascript
js实现轮播图效果 z-index实现轮播图
2020/01/17 Javascript
VSCode搭建Vue项目的方法
2020/04/30 Javascript
wxPython中listbox用法实例详解
2015/06/01 Python
在Python 字典中一键对应多个值的实例
2019/02/03 Python
Python格式化字符串f-string概览(小结)
2019/06/18 Python
Django ModelForm组件使用方法详解
2019/07/23 Python
python函数装饰器之带参数的函数和带参数的装饰器用法示例
2019/11/06 Python
使用 Python 写一个简易的抽奖程序
2019/12/08 Python
PyCharm 无法 import pandas 程序卡住的解决方式
2020/03/09 Python
django在开发中取消外键约束的实现
2020/05/20 Python
keras-siamese用自己的数据集实现详解
2020/06/10 Python
python des,aes,rsa加解密的实现
2021/01/16 Python
系统管理员的职责包括那些?管理的对象是什么?
2016/09/20 面试题
金鑫耀Java笔试题
2014/09/06 面试题
公司年会演讲稿范文
2014/01/11 职场文书
企业承诺书怎么写
2014/05/24 职场文书
孝老爱亲模范事迹材料
2014/05/25 职场文书
公司口号大全
2014/06/11 职场文书
手机被没收的检讨书
2014/10/04 职场文书
工人先锋号申报材料
2014/12/29 职场文书
导游词格式
2015/02/13 职场文书
被告代理词范文
2015/05/25 职场文书
Java集成swagger文档组件
2021/06/28 Java/Android