详解pandas使用drop_duplicates去除DataFrame重复项参数

yipeiwu_com6年前Python基础

Pandas之drop_duplicates:去除重复项

方法

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

参数

这个drop_duplicate方法是对DataFrame格式的数据,去除特定列下面的重复行。返回DataFrame格式的数据。

  • subset : column label or sequence of labels, optional 用来指定特定的列,默认所有列
  • keep : {‘first', ‘last', False}, default ‘first' 删除重复项并保留第一次出现的项
  • inplace : boolean, default False 是直接在原来数据上修改还是保留一个副本

DataFrame中存在重复的行或者几行中某几列的值重复,这时候需要去掉重复行,示例如下:

data.drop_duplicates(subset=['A','B'],keep='first',inplace=True)

代码中subset对应的值是列名,表示只考虑这两列,将这两列对应值相同的行进行去重。默认值为subset=None表示考虑所有列。

keep='first'表示保留第一次出现的重复行,是默认值。keep另外两个取值为"last"和False,分别表示保留最后一次出现的重复行和去除所有重复行。

inplace=True表示直接在原来的DataFrame上删除重复项,而默认值False表示生成一个副本。

将副本赋值给dataframe:

data=data.drop_duplicates(subset=None,keep='first',inplace=False)

这一行代码与文章开头提到的那行代码效果等效,但是如果在该DataFrame上新增一列:

data['extra']=test_data['item_price_level']

就会报如下错误:

SettingWithCopyWarning:  A value is trying to be set on a copy of a slice from a DataFrame. 

所以如果想对DataFrame去重,最好采用开头提到的那行代码。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python字符串格式化的方法(两种)

本文介绍了Python字符串格式化,主要有两种方法,分享给大家,具体如下 用于字符串的拼接,性能更优。 字符串格式化有两种方式:百分号方式、format方式。 百分号方式比较老,而for...

用openCV和Python 实现图片对比,并标识出不同点的方式

用openCV和Python 实现图片对比,并标识出不同点的方式

最近项目中需要实现两组图片对比,并能将两者的区别标识出来。 在网上搜索一大堆找到一篇大神的文章,最终实现该功能,在这里记录下: 想要实现此demo,首先我们得确保电脑上已安装 openC...

Django集成搜索引擎Elasticserach的方法示例

1.背景 当用户在搜索框输入关键字后,我们要为用户提供相关的搜索结果。可以选择使用模糊查询 like 关键字实现,但是 like 关键字的效率极低。查询需要在多个字段中进行,使用 li...

python3+PyQt5重新实现QT事件处理程序

python3+PyQt5重新实现QT事件处理程序

本文是对《Python Qt GUI快速编程》的第10章的例子events用Python3+PyQt5进行改写,涉及到重新实现QWidget的事件处理程序。本例子涉及到上下文菜单,鼠标事...

Python中关于Sequence切片的下标问题详解

前言 在python中, 切片是一个经常会使用到的语法, 不管是元组, 列表还是字符串, 一般语法就是: sequence[ilow:ihigh:step] # ihigh,step...