Pandas DataFrame求差集的示例代码


Posted in Python onDecember 13, 2020

在Pandas中 求差集没有专门的函数。处理办法就是将两个DataFrame追加合并,然后去重。

divident.append(hasThisYearDivident)
noHasThisYearDivident = divident.drop_duplicates(subset='ts_code', keep=False, inplace=True, ignore_index=True)

具体函数用法:

Pandas DataFrame求差集的示例代码

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.append.html#pandas.DataFrame.append

Pandas DataFrame求差集的示例代码

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.drop_duplicates.html#pandas.DataFrame.drop_duplicates

补充示例:Pandas中两个DataFrame的差集

在pandas中,两个DataFrame的差集并没有直接的库内置方法,现在我们希望有一种方法,就像python中set内置的求差集一样,来找到两个DataFrame的差集。

>>> a=set((1,2,3))
>>> a
{1, 2, 3}
>>> b=set((2,3,4))
>>> b
{2, 3, 4}
>>> a-b
{1}

上面代码片段是对set的内置求差集方法的回顾,现在我们希望能有类似的方法来找两个DataFrame的差集。

解决思路是这样的:

对于有同样Index的a,b两个DataFrame,如果现在要求a对b的差集,那么可以(1)连续两次扩充a,使用append方法(2)然后使用drop_duplicates方法对a进行去重,并且参数keep=False。原理很简单,也很巧妙,连续扩充2次a,那么新扩充完后的DataFrame中来自b的row肯定是重复的,去重时候,b全部被删除,与此同时,a中跟b重复的row也会顺带着被删除。

代码实现:

>>> import pandas as pd
>>> 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)
>>> b=pd.DataFrame(data_b)
>>> a
  state pop
0   1  a
1   1  b
2   2  c
>>> b
  state pop
0   1  b
1   2  c
2   3  d
>>> a=a.append(b)
>>> a=a.append(b)
>>> a
  state pop
0   1  a
1   1  b
2   2  c
0   1  b
1   2  c
2   3  d
0   1  b
1   2  c
2   3  d
>>> a.drop_duplicates(subset=['state','pop'],keep=False)
  state pop
0   1  a

到此这篇关于Pandas DataFrame求差集的示例代码的文章就介绍到这了,更多相关Pandas DataFrame求差集内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python爬取Coursera课程资源的详细过程
Nov 04 Python
python读写ini配置文件方法实例分析
Jun 30 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
Sep 18 Python
Python实现简单求解给定整数的质因数算法示例
Mar 25 Python
Java与Python两大幸存者谁更胜一筹呢
Apr 12 Python
Python装饰器原理与简单用法实例分析
Apr 29 Python
python实现栅栏加解密 支持密钥加密
Mar 20 Python
python之array赋值技巧分享
Nov 28 Python
python已协程方式处理任务实现过程
Dec 27 Python
使用 Python 在京东上抢口罩的思路详解
Feb 27 Python
Python字符串hashlib加密模块使用案例
Mar 10 Python
python可迭代对象去重实例
May 15 Python
pandas实现导出数据的四种方式
Dec 13 #Python
python绘图pyecharts+pandas的使用详解
Dec 13 #Python
Pandas对每个分组应用apply函数的实现
Dec 13 #Python
python安装及变量名介绍详解
Dec 12 #Python
在python中对于bool布尔值的取反操作
Dec 11 #Python
python 基于opencv 绘制图像轮廓
Dec 11 #Python
python通过cython加密代码
Dec 11 #Python
You might like
PHP学习 运算符与运算符优先级
2008/06/15 PHP
php MessagePack介绍
2013/10/06 PHP
关于js和php对url编码的处理方法
2014/03/04 PHP
php远程请求CURL实例教程(爬虫、保存登录状态)
2020/12/10 PHP
调试Javascript代码(浏览器F12及VS中debugger关键字)
2013/01/25 Javascript
jquery修改网页背景颜色通过css方法实现
2014/06/06 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
jquery单选框radio绑定click事件实现方法
2015/01/14 Javascript
JavaScript页面模板库handlebars的简单用法
2015/03/02 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
2016/01/28 Javascript
如何理解jQuery中的ajaxSubmit方法
2017/03/13 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
2017/05/05 Javascript
ZeroClipboard.js使用一个flash复制多个文本框
2017/06/19 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
2018/04/23 Javascript
在vue项目中优雅的使用SVG的方法实例详解
2018/12/03 Javascript
js设置默认时间跨度过程详解
2019/07/17 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
JS实现的雪花飘落特效示例
2019/12/03 Javascript
微信小程序webSocket的使用方法
2020/02/20 Javascript
[00:49]完美世界DOTA2联赛10月28日开团时刻:随便打
2020/10/29 DOTA
用Python实现协同过滤的教程
2015/04/08 Python
深入理解python中sort()与sorted()的区别
2018/08/29 Python
Django 实现购物车功能的示例代码
2018/10/08 Python
用Python编写一个高效的端口扫描器的方法
2018/12/20 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
Python xlrd模块导入过程及常用操作
2020/06/10 Python
python else语句在循环中的运用详解
2020/07/06 Python
python request 模块详细介绍
2020/11/10 Python
什么是GWT的Module
2013/01/20 面试题
员工培训心得体会
2013/12/30 职场文书
护士自我评价
2014/02/01 职场文书
学生会副主席竞聘书
2014/03/31 职场文书
汽车技术服务与贸易专业求职信
2014/07/20 职场文书
2015年会计年终工作总结
2015/05/26 职场文书
宿舍卫生管理制度
2015/08/05 职场文书
浅谈python数据类型及其操作
2021/05/25 Python