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 18 Python
Python入门篇之编程习惯与特点
Oct 17 Python
Python中int()函数的用法浅析
Oct 17 Python
Python基础教程之利用期物处理并发
Mar 29 Python
使用实现XlsxWriter创建Excel文件并编辑
May 04 Python
django自带的server 让外网主机访问方法
May 14 Python
深入浅析Python获取对象信息的函数type()、isinstance()、dir()
Sep 17 Python
python实现定时发送qq消息
Jan 18 Python
python之列表推导式的用法
Nov 29 Python
简单了解python调用其他脚本方法实例
Mar 26 Python
python 标准库原理与用法详解之os.path篇
Oct 24 Python
Python Numpy库的超详细教程
Apr 06 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 不错的学习资料
2009/02/06 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
2017/08/10 PHP
php精度计算的问题解析
2019/06/21 PHP
基于jquery实现的文字淡入淡出效果
2013/11/14 Javascript
使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
2014/05/27 Javascript
js实现仿Windows风格选项卡和按钮效果实例
2015/05/13 Javascript
AngularJS基础 ng-value 指令简单示例
2016/08/03 Javascript
node.js中EJS 模板快速入门教程
2017/05/08 Javascript
详解AngularJs路由之Ui-router-resolve(预加载)
2017/06/13 Javascript
详解动画插件wow.js的使用方法
2017/09/13 Javascript
Three.js中网格对象MESH的属性与方法详解
2017/09/27 Javascript
详解webpack性能优化——DLL
2017/10/20 Javascript
微信小程序学习笔记之目录结构、基本配置图文详解
2019/03/28 Javascript
vue.js购物车添加商品组件的方法
2019/09/17 Javascript
vue3.0搭配.net core实现文件上传组件
2020/10/29 Javascript
vue实现动态表格提交参数动态生成控件的操作
2020/11/09 Javascript
Python实现简单过滤文本段的方法
2017/05/24 Python
Python批量更改文件名的实现方法
2017/10/29 Python
在Django中输出matplotlib生成的图片方法
2018/05/24 Python
对python中类的继承与方法重写介绍
2019/01/20 Python
使用python3构建文件传输的方法
2019/02/13 Python
在django模板中实现超链接配置
2019/08/21 Python
python区分不同数据类型的方法
2019/10/14 Python
python与js主要区别点总结
2020/09/13 Python
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
AmazeUI框架搭建的方法步骤(图文)
2020/08/17 HTML / CSS
汽车电子与维修专业大学生求职信
2013/09/28 职场文书
给排水工程师岗位职责
2013/11/21 职场文书
李开复演讲稿
2014/05/24 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
2014年艾滋病防治工作总结
2014/12/10 职场文书
幼儿园小班个人总结
2015/02/12 职场文书
《山中访友》教学反思
2016/02/24 职场文书
Python安装及建立虚拟环境的完整步骤
2022/06/25 Servers
HttpClient实现文件上传功能
2022/08/14 Java/Android