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复制文件代码实现
Dec 23 Python
利用TensorFlow训练简单的二分类神经网络模型的方法
Mar 05 Python
Python Json模块中dumps、loads、dump、load函数介绍
May 15 Python
Python学习小技巧总结
Jun 10 Python
Python中logging实例讲解
Jan 17 Python
python实现QQ批量登录功能
Jun 19 Python
Django ORM多对多查询方法(自定义第三张表&ManyToManyField)
Aug 09 Python
Python实现微信翻译机器人的方法
Aug 13 Python
python zip()函数使用方法解析
Oct 31 Python
python绘制玫瑰的实现代码
Mar 02 Python
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
Apr 22 Python
Python find()、rfind()方法及作用
Dec 24 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的中问验证码
2006/11/25 PHP
php基础知识:类与对象(4) 范围解析操作符(::)
2006/12/13 PHP
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
2014/07/28 PHP
dedecms中使用php语句指南
2014/11/13 PHP
PHP实现自动识别Restful API的返回内容类型
2015/02/07 PHP
关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
2016/01/08 PHP
php简单计算年龄的方法(周岁与虚岁)
2016/12/06 PHP
Yii2框架加载css和js文件的方法分析
2019/05/25 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
PHP底层运行机制与工作原理详解
2020/07/31 PHP
常用的javascript function代码
2008/05/23 Javascript
浅析javascript闭包 实例分析
2010/12/25 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
2014/07/31 Javascript
微信小程序 动态传参实例详解
2017/04/27 Javascript
Spring Boot/VUE中路由传递参数的实现代码
2018/03/02 Javascript
Webpack path与publicPath的区别详解
2018/05/03 Javascript
electron 安装,调试,打包的具体使用
2019/11/06 Javascript
python的id()函数解密过程
2012/12/25 Python
在Gnumeric下使用Python脚本操作表格的教程
2015/04/14 Python
深入浅析ImageMagick命令执行漏洞
2016/10/11 Python
Python图形绘制操作之正弦曲线实现方法分析
2017/12/25 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
Scrapy框架介绍之Puppeteer渲染的使用
2020/06/19 Python
HTML5 和小程序实现拍照图片旋转、压缩和上传功能
2018/10/08 HTML / CSS
英国最大的汽车交易网站:Auto Trader UK
2016/09/23 全球购物
阿迪达斯法国官方网站:adidas法国
2018/03/20 全球购物
女士和男士时尚鞋在线购物:Shoespie
2019/02/28 全球购物
什么是ESB?请介绍一下ESB?
2015/05/27 面试题
小学数学教学经验交流材料
2014/05/22 职场文书
驻村工作先进事迹
2014/08/14 职场文书
个人自查自纠材料
2014/10/14 职场文书
社会实践活动总结
2015/02/05 职场文书
python实现自定义日志的具体方法
2021/05/28 Python
SpringBoot整合MongoDB的实现步骤
2021/06/23 MongoDB
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python