Pandas数据去重:drop_duplicates函数详解

本文详细介绍了使用Python的Pandas库进行数据去重的方法,包括如何仅去除重复项、提取重复项,以及如何通过两次去除重复项来实现数据的精炼。通过具体的代码示例,展示了如何利用DataFrame的drop_duplicates()函数,设置不同的参数如subset、keep和inplace,以满足不同的数据处理需求。
Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

DataFrame.drop_duplicates(subset=Nonekeep='first'inplace=False)


参数解释:

  • subset: 列名,默认所有的列
  • keep: 是否保留{‘first’, ‘last’, False}keep= 'first' 表示去重时每组重复数据保留第一条数据,其余数据丢弃; keep='last' 表示去重时每组重复数据保留最后一条数据,其余数据丢弃;keep=False 表示去重时每组重复数据全部丢弃,不保留
  • inplace: 是否替换{False, True}inplace=False表示去重之后不覆盖原表格数据,inplace=True表示去重之后原表格数据被覆盖

一、仅去除重复项

下面给出部分代码示例,可自行粘贴运行对比,推荐spyder / jupyter notebook, 方便查看数据结构。

# A列中1重复两次(index=0/2)
In [6]: data  
Out[6]: 
   A  B  C
0  1  1  1
1  2  2  2
2  1  3  3
3  3  4  4

# A列去重,两条重复数据保留第一条(index=0),第二条数据丢弃(index=2)。
In [7]: data.drop_duplicates(subset='A',keep='first',inplace=False)
Out[7]: 
   A  B  C
0  1  1  1
1  2  2  2
3  3  4  4

# A列去重,两条重复数据保留最后一条(index=2),第一条数据丢弃(index=0)。
In [7]: data.drop_duplicates(subset='A',keep='first',inplace=False)
Out[7]: 
   A  B  C
1  2  2  2
2  1  3  3
3  3  4  4

二、提取重复项

提取重复项?两次去除重复项即可,思路如下。

#第一步: 去重,将重复数据丢弃
In [10]: data1=data.drop_duplicates(subset='A',keep=False,inplace=False)

#第二步:去重,保留一组重复数据
In [11]: data2=data.drop_duplicates(subset='A',keep='first',inplace=False)

#第三步:将data1与data2合并后去重且丢弃重复数据
#(data1与data2合并后, 此时原表里面非重复数据变成了两份,去重丢弃这些重复数据之后,剩下的数据即为所求)
In [12]:data1.append(data2).drop_duplicates(subset='A',keep=False,inplace=False)
Out[12]: 
   A  B  C
0  1  1  1

 

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值