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程序抓取新浪在国内的所有IP的教程
May 04 Python
python装饰器与递归算法详解
Feb 18 Python
Python中元组,列表,字典的区别
May 21 Python
Python实现控制台中的进度条功能代码
Dec 22 Python
Python常见字符串操作函数小结【split()、join()、strip()】
Feb 02 Python
python 编写简单网页服务器的实例
Jun 01 Python
详解爬虫被封的问题
Apr 23 Python
Pycharm如何打断点的方法步骤
Jun 13 Python
pandas读取csv文件提示不存在的解决方法及原因分析
Apr 21 Python
Python 创建TCP服务器的方法
Jul 28 Python
python创建文本文件的简单方法
Aug 30 Python
python装饰器代码解析
Mar 23 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
咖啡风味 世界咖啡主要分布分布 咖啡的生长要求
2021/03/06 新手入门
简单实现php上传文件功能
2017/09/21 PHP
js同时按下两个方向键
2007/12/01 Javascript
在标题栏显示新消息提示,很多公司项目中用到这个方法
2011/11/04 Javascript
Jquery异步请求数据实例代码
2011/12/28 Javascript
JavaScript栏目列表隐藏/显示简单实现
2013/04/03 Javascript
js二维数组定义和初始化的三种方法总结
2014/03/03 Javascript
JavaScript常用验证函数实例汇总
2014/11/25 Javascript
javascript与Python快速排序实例对比
2015/08/10 Javascript
如何使用PHP+jQuery+MySQL实现异步加载ECharts地图数据(附源码下载)
2016/02/23 Javascript
Knockoutjs 学习系列(二)花式捆绑
2016/06/07 Javascript
手机端图片缩放旋转全屏查看PhotoSwipe.js插件实现
2016/08/25 Javascript
Angular2搜索和重置按钮过场动画
2017/05/24 Javascript
深入了解javascript 数组的sort方法
2018/06/01 Javascript
VUE-Table上绑定Input通过render实现双向绑定数据的示例
2018/08/27 Javascript
实例讲解vue源码架构
2019/01/24 Javascript
Vue+Express实现登录注销功能的实例代码
2019/05/05 Javascript
jQuery实现文本显示一段时间后隐藏的方法分析
2019/06/20 jQuery
微信小程序 如何保持登录状态
2019/08/16 Javascript
JavaScript命令模式原理与用法实例详解
2020/03/10 Javascript
JavaScript缺少insertAfter解决方案
2020/07/03 Javascript
Nodejs 微信小程序消息推送的实现
2021/01/20 NodeJs
Python元组及文件核心对象类型详解
2018/02/11 Python
Python决策树之基于信息增益的特征选择示例
2018/06/25 Python
numpy返回array中元素的index方法
2018/06/27 Python
Django实现微信小程序的登录验证功能并维护登录态
2019/07/04 Python
Python 实现输入任意多个数,并计算其平均值的例子
2019/07/16 Python
python实现H2O中的随机森林算法介绍及其项目实战
2019/08/29 Python
Python与C/C++的相互调用案例
2021/03/04 Python
Whittard官方海外旗舰店:英国百年茶叶品牌
2018/02/22 全球购物
Nike加拿大官网:Nike.com (CA)
2019/04/09 全球购物
物流管理专业大学生自荐信
2013/10/04 职场文书
积极向上的团队口号
2014/06/06 职场文书
初中生庆国庆演讲稿范文2014
2014/09/25 职场文书
2015年财务人员工作总结
2015/04/10 职场文书
《废话连篇——致新手》——chinapizza
2022/04/05 无线电