pandas求两个表格不相交的集合方法

yipeiwu_com6年前Python基础

Hi,好久不见,我还是那颗翻滚的老鼠屎。处理数据时想求两个表格求不相交的部分,或许是对知识的匮乏限制了我的想象力,并未找到直接求的方法,在这里介绍老鼠屎技己使用的方法,希望对读者会有帮助。

pandas求两个表格不相交的集合

阴影部分为所要求的部分(但是前提是A、B两个集合都是无重复内容的集合)

首先先造两个DataFrame来做示例。

import pandas as pd 
a0={"number":range(10),"letter":["a","a","b","b","c","f","f","e","h","w"]} 
a=pd.DataFrame(a0) 
b0={"number":range(15),"letter":["b","a","t","b","r","f","g","e","j","w","t","h","i","y","u"]} 
b=pd.DataFrame(b0) 

看一下两个DataFrame的样子

pandas求两个表格不相交的集合

关于差集,我们是要去除两个DataFrame中公共的部分,因此我的想法是:

(1)先将两个DataFrame融合为一个DataFrame;

(2)去掉当中公共的部分(使用drop_duplicates去重)。

下面来看一下代码:

c=a.append(b)
c.drop_duplicates(keep=False,inplace=True)
c.reset_index()

这里想要说明的是,drop_duplicates当中的参数keep=False,意为重复项全部删除,它还有keep="first"与keep="last",分别对应在有多项重复时,保留第一项(或最后一项)。具体可参考官方文档

得到的效果是如下所示。虽然过程很简单,但是很好用。

pandas求两个表格不相交的集合

同样的道理可用来求差集,在此不做赘述。

以上这篇pandas求两个表格不相交的集合方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python第三方库的安装方法总结

Python 是一门优雅的语言,简洁的语法,强大的功能。当然丰富的第三方库,更能加速开发。那么问题来了,如何安装这些第三方库(包)呢? 安装第三方库的方式其实不多。下面就介绍一些技巧。...

Python内置函数的用法实例教程

本文简单的分析了Python中常用的内置函数的用法,分享给大家供大家参考之用。具体分析如下: 一般来说,在Python中内置了很多有用的函数,我们可以直接调用。 而要调用一个函数,就需要...

Python Socket编程入门教程

这是用来快速学习 Python Socket 套接字编程的指南和教程。Python 的 Socket 编程跟 C 语言很像。 Python 官方关于 Socket 的函数请看 http:...

跟老齐学Python之list和str比较

相同点 都属于序列类型的数据 所谓序列类型的数据,就是说它的每一个元素都可以通过指定一个编号,行话叫做“偏移量”的方式得到,而要想一次得到多个元素,可以使用切片。偏移量从0开始,总元素数...

Python操作Excel之xlsx文件

前言 之前处理excel的读写时用的是xlrd/xlwt,但是这两个库有个缺点就是只对xls的格式处理的比较好,对以xlsx结尾的格式就不行了。由于现在大家使用的都是最新版本的offic...