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中遇到的小问题及解决方法汇总
Jan 11 Python
浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
Apr 10 Python
使用Python如何测试InnoDB与MyISAM的读写性能
Sep 18 Python
对python3标准库httpclient的使用详解
Dec 18 Python
python操作日志的封装方法(两种方法)
May 23 Python
ubuntu 16.04下python版本切换的方法
Jun 14 Python
python生成随机红包的实例写法
Sep 02 Python
浅谈Python类中的self到底是干啥的
Nov 11 Python
python求绝对值的三种方法小结
Dec 04 Python
Python HTMLTestRunner库安装过程解析
May 25 Python
python 两种方法删除空文件夹
Sep 29 Python
Pycharm在指定目录下生成文件和删除文件的实现
Dec 28 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
php $_SERVER当前完整url的写法
2009/11/12 PHP
php中的观察者模式
2010/03/24 PHP
php 根据自增id创建唯一编号类
2017/04/06 PHP
javascript contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2010/02/04 Javascript
轻轻松松学JS调试(不下载任何工具)
2010/04/14 Javascript
javascript日期格式化示例分享
2014/03/05 Javascript
Jquery实现由下向上展开效果的例子
2014/12/08 Javascript
javascript实现无缝上下滚动特效
2015/12/16 Javascript
使用 stylelint检查CSS_StyleLint
2016/04/28 Javascript
原生JavaScript编写canvas版的连连看游戏
2016/05/29 Javascript
Knockoutjs 学习系列(一)ko初体验
2016/06/07 Javascript
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
2017/09/14 Javascript
Es6 Generator函数详细解析
2018/02/24 Javascript
cropper js基于vue的图片裁剪上传功能的实现代码
2018/03/01 Javascript
微信小程序自定义toast组件的方法详解【含动画】
2019/05/11 Javascript
js实现随机8位验证码
2020/07/24 Javascript
监控微信小程序中的慢HTTP请求过程详解
2019/07/05 Javascript
Python实现冒泡排序的简单应用示例
2017/12/11 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
python实现学员管理系统
2019/02/26 Python
pandas 对日期类型数据的处理方法详解
2019/08/08 Python
使用Python实现正态分布、正态分布采样
2019/11/20 Python
python 遗传算法求函数极值的实现代码
2020/02/11 Python
Pycharm 如何一键加引号的方法步骤
2021/02/05 Python
CSS3中的元素过渡属性transition示例详解
2016/11/30 HTML / CSS
CSS3实现圆角、阴影、透明效果并兼容各大浏览器
2014/08/08 HTML / CSS
国际商务系学生个人的自我评价
2013/11/26 职场文书
车间工艺员岗位职责
2013/12/09 职场文书
财务支持类个人的自我评价
2014/02/14 职场文书
党员干部反四风对照检查材料思想汇报
2014/09/14 职场文书
2014年乡镇人大工作总结
2014/11/25 职场文书
支教个人总结
2015/03/04 职场文书
幼儿园六一儿童节主持词
2015/06/30 职场文书
2016年优秀团支部事迹材料
2016/02/26 职场文书
Python 类,对象,数据分类,函数参数传递详解
2021/09/25 Python