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和Linux系统上的错误
Dec 12 Python
使用python遍历指定城市的一周气温
Mar 31 Python
django创建自定义模板处理器的实例详解
Aug 14 Python
Python实现桶排序与快速排序算法结合应用示例
Nov 22 Python
python+selenium打印当前页面的titl和url方法
Jun 22 Python
python中计算一个列表中连续相同的元素个数方法
Jun 29 Python
Python通过调用有道翻译api实现翻译功能示例
Jul 19 Python
python单线程文件传输的实例(C/S)
Feb 13 Python
python下载微信公众号相关文章
Feb 26 Python
基于pytorch padding=SAME的解决方式
Feb 18 Python
Python中的None与 NULL(即空字符)的区别详解
Sep 24 Python
Python经典五人分鱼实例讲解
Jan 04 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 Sql Server连接失败问题及解决办法
2009/08/07 PHP
色色整理的PHP面试题集锦
2012/03/08 PHP
PHP网站自动化配置的实现方法(必看)
2017/05/27 PHP
CSDN轮换广告图片轮换效果
2007/03/27 Javascript
JavaScript几种形式的树结构菜单
2010/05/10 Javascript
Js组件的一些写法
2010/09/10 Javascript
利用毫秒减值计算时长的js代码
2013/09/22 Javascript
把字符串按照特定的字母顺序进行排序的js代码
2014/01/28 Javascript
点击button获取text内容并改变样式的js实现
2014/09/09 Javascript
纯JavaScript实现的分页插件实例
2015/07/14 Javascript
一波JavaScript日期判断脚本分享
2016/03/06 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
2016/07/27 Javascript
JS中闭包的经典用法小结(2则示例)
2016/12/28 Javascript
移动端利用H5实现压缩图片上传功能
2017/03/29 Javascript
JavaScript使用ZeroClipboard操作剪切板
2017/05/10 Javascript
angular中使用Socket.io实例代码
2017/06/03 Javascript
JavaScript刷新页面的几种方法总结
2019/03/28 Javascript
解决layer.prompt无效的问题
2019/09/24 Javascript
javascript设计模式 ? 外观模式原理与用法实例分析
2020/04/15 Javascript
Python语言的面相对象编程方式初步学习
2016/03/12 Python
Python中格式化format()方法详解
2017/04/01 Python
老生常谈python的私有公有属性(必看篇)
2017/06/09 Python
详解python3中的真值测试
2018/08/13 Python
Pytorch maxpool的ceil_mode用法
2020/02/18 Python
哪些是python中web开发框架
2020/06/17 Python
matplotlib之属性组合包(cycler)的使用
2021/02/24 Python
德国机车企业:FC-Moto
2017/10/27 全球购物
YSL圣罗兰美妆俄罗斯官网:Yves Saint Lauret RU
2020/09/23 全球购物
铁路个人事迹材料
2014/01/30 职场文书
高中生家长寄语大全
2014/04/03 职场文书
二年级评语大全
2014/04/23 职场文书
大学生社会实践评语
2014/04/25 职场文书
2015年元旦演讲稿
2014/09/12 职场文书
2015年度学校卫生工作总结
2015/05/12 职场文书
MySQL 如何设计统计数据表
2021/06/15 MySQL
Java线程的6种状态与生命周期
2022/05/11 Java/Android