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函数缺省值与引用学习笔记分享
Feb 10 Python
利用Python的装饰器解决Bottle框架中用户验证问题
Apr 24 Python
Python中super()函数简介及用法分享
Jul 11 Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
Sep 18 Python
Python用户推荐系统曼哈顿算法实现完整代码
Dec 01 Python
Python 元类实例解析
Apr 04 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
Apr 18 Python
python获取当前文件路径以及父文件路径的方法
Jul 10 Python
浅谈pytorch中的BN层的注意事项
Jun 23 Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
Feb 16 Python
基于PyQT5制作一个桌面摸鱼工具
Feb 15 Python
Python之Matplotlib绘制热力图和面积图
Apr 13 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
很实用的一个完整email发送程序
2006/10/09 PHP
深入解析php之sphinx
2013/05/15 PHP
PHP自带函数给数字或字符串自动补齐位数
2014/07/29 PHP
PHP基于数组实现的分页函数实例
2014/08/20 PHP
php实现粘贴截图并完成上传功能
2015/05/17 PHP
PHP中PDO的事务处理分析
2016/04/07 PHP
PHP生成指定范围内的N个不重复的随机数
2019/03/18 PHP
javascript 类型判断代码分析
2010/03/28 Javascript
js Dialog 实践分享
2012/10/22 Javascript
利用div+jquery自定义滚动条样式的2种方法
2013/07/18 Javascript
js仿百度贴吧验证码特效实例代码
2014/01/16 Javascript
《JavaScript DOM 编程艺术》读书笔记之DOM基础
2015/01/09 Javascript
基于javascript实现九宫格大转盘效果
2020/05/28 Javascript
随机生成10个不重复的0-100的数字(实例讲解)
2017/08/16 Javascript
详解angular2.x创建项目入门指令
2018/10/11 Javascript
Echarts地图添加引导线效果(labelLine)
2019/09/30 Javascript
go语言计算两个时间的时间差方法
2015/03/13 Python
python创建和删除目录的方法
2015/04/29 Python
详解Python的Flask框架中生成SECRET_KEY密钥的方法
2016/06/07 Python
Python 爬虫学习笔记之多线程爬虫
2016/09/21 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
pandas pivot_table() 按日期分多列数据的方法
2018/11/16 Python
Python实现简单的列表冒泡排序和反转列表操作示例
2019/07/10 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
2019/08/16 Python
Python格式化输出--%s,%d,%f的代码解析
2020/04/29 Python
Python调用OpenCV实现图像平滑代码实例
2020/06/19 Python
Python可视化工具如何实现动态图表
2020/10/23 Python
html5使用canvas绘制文字特效
2014/12/15 HTML / CSS
技校教师求职简历的自我评价
2013/10/20 职场文书
小学运动会入场式解说词
2014/02/18 职场文书
公司年会主持词
2014/03/22 职场文书
加入学生会演讲稿
2014/04/24 职场文书
旷课检讨书
2015/01/26 职场文书
2015年幼儿园教育教学工作总结
2015/05/25 职场文书
《跨越海峡的生命桥》教学反思
2016/02/18 职场文书
如何更改Win11声音输出设备?Win11声音输出设备四种更改方法
2022/04/08 数码科技