Python Dataframe 指定多列去重、求差集的方法


Posted in Python onJuly 10, 2018

1)去重

指定多列去重,这是在dataframe没有独一无二的字段作为PK(主键)时,需要指定多个字段一起作为该行的PK,在这种情况下对整体数据进行去重。

Attention:主要用到了drop_duplicates方法,并设置参数subset为多个字段名构成的数组。

具体代码如下:

>>>import pandas as pd 
>>>data={'state':[1,1,2,2,1,2,2],'pop':['a','b','c','d','b','c','d']}
>>>frame=pd.DataFrame(data) 
>>>frame
	pop	state
0	a	1
1	b	1
2	c	2
3	d	2
4	b	1
5	c	2
6	d	2
>>>frame.drop_duplicates(subset=['pop','state'])
	pop	state
0	a	1
1	b	1
2	c	2
3	d	2

2)求差集

假设有两个dataframe为a和b,a和b可以是相互包含的关系,现在想要将a中和b重复的内容去掉,也就是求差集,步骤如下:

(1)需要对两个dataframe进行去重。

(2)利用append方法,a=a.append(b)

(3)再次利用append方法,a=a.append(b)

(4)去重,利用drop_duplicates方法,a=a.drop_duplicates(),以及设置参数keep=False,意思就是只要有重复,重复的记录都去掉。(keep默认='first',也就是保留第一条记录)

具体代码如下:

>>>data_a={'state':[1,1,2],'pop':['a','b','c']}
>>>data_b={'state':[1,2,3],'pop':['b','c','d']}
>>>a=pd.DataFrame(data_a)
>>>a 
	pop	state
0	a	1
1	b	1
2	c	2
>>>b=pd.DataFrame(data_b) 
>>>b
	pop	state
0	b	1
1	c	2
2	d	3
>>>a = a.append(b)
>>>a = a.append(b)
>>>result = a.drop_duplicates(subset=['pop','state'],keep=False)
>>>result
	pop	state
0	a	1

以上这篇Python Dataframe 指定多列去重、求差集的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
flask中使用SQLAlchemy进行辅助开发的代码
Feb 10 Python
python实现数通设备tftp备份配置文件示例
Apr 02 Python
Python实现提取谷歌音乐搜索结果的方法
Jul 10 Python
python实现将内容分行输出
Nov 05 Python
利用Python脚本生成sitemap.xml的实现方法
Jan 31 Python
搭建python django虚拟环境完整步骤详解
Jul 08 Python
python 操作hive pyhs2方式
Dec 21 Python
Python基于Socket实现简单聊天室
Feb 17 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
Feb 26 Python
在Mac中配置Python虚拟环境过程解析
Jun 22 Python
python3 通过 pybind11 使用Eigen加速代码的步骤详解
Dec 07 Python
python实现图像高斯金字塔的示例代码
Dec 11 Python
Python实现对文件进行单词划分并去重排序操作示例
Jul 10 #Python
python3中函数参数的四种简单用法
Jul 09 #Python
python3学习之Splash的安装与实例教程
Jul 09 #Python
Python基于sklearn库的分类算法简单应用示例
Jul 09 #Python
Python不使用int()函数把字符串转换为数字的方法
Jul 09 #Python
python中ASCII码和字符的转换方法
Jul 09 #Python
python中ASCII码字符与int之间的转换方法
Jul 09 #Python
You might like
Terran兵种对照表
2020/03/14 星际争霸
解析htaccess伪静态的规则
2013/06/18 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
2017/07/13 PHP
PHP创建自己的Composer包方法
2018/04/09 PHP
jquery异步跨域访问代码
2013/06/28 Javascript
使用jquery实现的一个图片延迟加载插件(含图片延迟加载原理)
2014/06/05 Javascript
JavaScript中Function详解
2015/02/27 Javascript
js读取并解析JSON类型数据的方法
2015/11/14 Javascript
js倒计时显示实例
2016/12/11 Javascript
bootstrap的常用组件和栅格式布局详解
2017/05/02 Javascript
用户管理的设计_jquery的ajax实现二级联动效果
2017/07/13 jQuery
vuejs事件中心管理组件间的通信详解
2017/08/09 Javascript
详解webpack + vue + node 打造单页面(入门篇)
2017/09/23 Javascript
从零开始封装自己的自定义Vue组件
2018/10/09 Javascript
JavaScript 监听组合按键思路及代码实现
2020/07/28 Javascript
[03:01]2014DOTA2国际邀请赛 小组赛7月13日TOPPLAY
2014/07/14 DOTA
[47:45]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第一场 2月26日
2021/03/11 DOTA
Python实现简单截取中文字符串的方法
2015/06/15 Python
详解使用Python处理文件目录的相关方法
2015/10/16 Python
整理Python 常用string函数(收藏)
2016/05/30 Python
python字典操作实例详解
2017/11/16 Python
Python使用win32com模块实现数据库表结构自动生成word表格的方法
2018/07/17 Python
Flask核心机制之上下文源码剖析
2018/12/25 Python
Python读写文件模式和文件对象方法实例详解
2019/09/17 Python
python 线性回归分析模型检验标准--拟合优度详解
2020/02/24 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
python为QT程序添加图标的方法详解
2020/03/09 Python
Python 如何实现访问者模式
2020/07/28 Python
Python 实现简单的客户端认证
2020/07/29 Python
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
2013/01/09 HTML / CSS
Ralph Lauren法国官网:美国高品味时装品牌
2017/12/08 全球购物
湖南卫视在线视频媒体平台:芒果TV
2019/10/30 全球购物
Parfumdreams芬兰:购买香水和化妆品
2021/02/13 全球购物
高中生自我评语大全
2014/01/19 职场文书
教师产假请假条
2014/04/10 职场文书
Win10服务全部禁用了怎么启动?Win10服务全部禁用解决方法
2022/09/23 数码科技