Pandas中两个dataframe的交集和差集的示例代码


Posted in Python onDecember 13, 2020

创建测试数据:

import pandas as pd
import numpy as np
 
#Create a DataFrame
df1 = {
  'Subject':['semester1','semester2','semester3','semester4','semester1',
        'semester2','semester3'],
  'Score':[62,47,55,74,31,77,85]}
 
df2 = {
  'Subject':['semester1','semester2','semester3','semester4'],
  'Score':[90,47,85,74]}
 
 
df1 = pd.DataFrame(df1,columns=['Subject','Score'])
df2 = pd.DataFrame(df2,columns=['Subject','Score'])
 
print(df1)
print(df2)

运行结果:

Pandas中两个dataframe的交集和差集的示例代码

求两个dataframe的交集

intersected_df = pd.merge(df1, df2, how='inner')
print(intersected_df)

Pandas中两个dataframe的交集和差集的示例代码

也可以指定求交集的列:

intersected_df = pd.merge(df1, df2, on=['Subject'], how='inner')
print(intersected_df)

Pandas中两个dataframe的交集和差集的示例代码

求差集

df2-df1:

set_diff_df = pd.concat([df2, df1, df1]).drop_duplicates(keep=False)
print(set_diff_df)

Pandas中两个dataframe的交集和差集的示例代码

df1-df2:

set_diff_df = pd.concat([df1, df2, df2]).drop_duplicates(keep=False)
print(set_diff_df)

Pandas中两个dataframe的交集和差集的示例代码

另一种求差集的方法是:

以df1-df2为例:

df1 = df1.append(df2)
df1 = df1.append(df2)
set_diff_df = df1.drop_duplicates(subset=['Subject', 'Score'],keep=False)
print(set_diff_df)

得到的df1-df2结果是一样的:

Pandas中两个dataframe的交集和差集的示例代码

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

Python 相关文章推荐
python函数形参用法实例分析
Aug 04 Python
python基于phantomjs实现导入图片
May 13 Python
使用python实现链表操作
Jan 26 Python
Django中间件工作流程及写法实例代码
Feb 06 Python
Python基础教程之if判断,while循环,循环嵌套
Apr 25 Python
线程安全及Python中的GIL原理分析
Oct 29 Python
python实现遍历文件夹图片并重命名
Mar 23 Python
Python importlib动态导入模块实现代码
Apr 16 Python
python的Jenkins接口调用方式
May 12 Python
Python函数递归调用实现原理实例解析
Aug 11 Python
在pycharm中文件取消用 pytest模式打开的操作
Sep 01 Python
python中__slots__节约内存的具体做法
Jul 04 Python
使用pandas实现筛选出指定列值所对应的行
Dec 13 #Python
Pandas DataFrame求差集的示例代码
Dec 13 #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
You might like
农民C键的运用技巧
2020/03/04 星际争霸
自己动手,丰衣足食 - 短波框形天线制作
2021/03/01 无线电
PHP多例模式介绍
2013/06/24 PHP
PHP 配置后台登录以及模板引入
2017/01/24 PHP
php 根据URL下载远程图片、压缩包、pdf等文件到本地
2019/07/26 PHP
ThinkPHP5&5.1框架关联模型分页操作示例
2019/08/03 PHP
JavaScript 格式字符串的应用
2010/03/29 Javascript
JavaScript和ActionScript的交互实现代码
2010/08/01 Javascript
简略的前端架构心得&&基于editor为例子的编码小技巧
2010/11/25 Javascript
js监听滚动条滚动事件使得某个标签内容始终位于同一位置
2014/01/24 Javascript
extjs 分页使用jsp传递数据示例
2014/07/29 Javascript
Javascript学习笔记之函数篇(六) : 作用域与命名空间
2014/11/23 Javascript
分享十五款 jQuery 社交网络分享插件
2015/05/16 Javascript
浅析js中substring和substr的方法
2015/11/09 Javascript
Bootstrap风格的WPF样式
2016/12/07 Javascript
关于JavaScript中的this指向问题总结篇
2017/07/23 Javascript
深入浅析Node环境和浏览器的区别
2018/08/14 Javascript
VeeValidate 的使用场景以及配置详解
2019/01/11 Javascript
[01:13:01]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第三场
2018/04/05 DOTA
深入浅析Python中join 和 split详解(推荐)
2016/06/30 Python
python numpy 显示图像阵列的实例
2018/07/02 Python
python如何实现一个刷网页小程序
2018/11/27 Python
python中正则表达式与模式匹配
2019/05/07 Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
2019/08/13 Python
python实现在一个画布上画多个子图
2020/01/19 Python
Python将二维列表list的数据输出(TXT,Excel)
2020/04/23 Python
Softmax函数原理及Python实现过程解析
2020/05/22 Python
python线性插值解析
2020/07/05 Python
Python getsizeof()和getsize()区分详解
2020/11/20 Python
Ubuntu16安装Python3.9的实现步骤
2020/12/15 Python
详解h5页面在不同ios设备上的问题总结
2019/03/01 HTML / CSS
Spartoo芬兰:欧洲最大的网上鞋店
2016/08/28 全球购物
高二化学教学反思
2014/01/30 职场文书
《乞巧》教学反思
2014/02/27 职场文书
机械工程及其自动化专业求职信
2014/08/08 职场文书
离婚协议书怎么写(范本参考)
2014/09/30 职场文书