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

yipeiwu_com7年前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设计】。

相关文章

Django用户认证系统 组与权限解析

Django的权限系统很简单,它可以赋予users或groups中的users以权限。 Django admin后台就使用了该权限系统,不过也可以用到你自己的代码中。 User对象具有两...

python按行读取文件,去掉每行的换行符\n的实例

如下所示: for line in file.readlines(): line=line.strip('\n') 以上这篇python按行读取文件,去掉每行的换行符\n的实例就是...

在python中使用正则表达式查找可嵌套字符串组

在网上看到一个小需求,需要用正则表达式来处理。原需求如下: 找出文本中包含”因为……所以”的句子,并以两个词为中心对齐输出前后3个字,中间全输出,如果“因为”和“所以”中间还存在“因为”...

Python将string转换到float的实例方法

Python将string转换到float的实例方法

Python 如何转换string到float?简单几步,让你轻松解决。 打开软件,新建python项目,如图所示 右键菜单中创建.py文件,如图所示 步骤中文件输入代码如下...

python实现大文本文件分割

本文实例为大家分享了python实现大文本文件分割的具体代码,供大家参考,具体内容如下 开发环境 Python 2 实现效果 通过文件拖拽或文件路径输入,实现自定义大文本文件分割。 代码...