Pandas-连接合并函数merge()

2023-11-06

一、merge函数用途

pandas中的merge()函数类似于SQL中join的用法,可以将不同数据集依照某些字段(属性)进行合并操作,得到一个新的数据集。

二、merge()函数的具体参数

  • 用法:
    DataFrame1.merge(DataFrame2, how=‘inner’, on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=(’_x’, ‘_y’))
  • 参数说明
参数 说明
how 默认为inner,可设为inner/outer/left/right
on 根据某个字段进行连接,必须存在于两个DateFrame中(若未同时存在,则需要分别使用left_on和right_on来设置)
left_on 左连接,以DataFrame1中用作连接键的列
right_on 右连接,以DataFrame2中用作连接键的列
left_index 将DataFrame1行索引用作连接键
right_index 将DataFrame2行索引用作连接键
sort 根据连接键对合并后的数据进行排列,默认为True
suffixes 对两个数据集中出现的重复列,新数据集中加上后缀_x,_y进行区别

三、merge用法举例

  • 创建两个数据框
#利用字典dict创建数据框
dataDf1=pd.DataFrame({'lkey':['foo','bar','baz','foo'],
                     'value':[1,2,3,4]})
dataDf2=pd.DataFrame({'rkey':['foo','bar','qux','bar'],
                     'value':[5,6,7,8]})
print(dataDf1)
print(dataDf2)
>>>
  lkey  value
0  foo      1
1  bar      2
2  baz      3
3  foo      4

  rkey  value
0  foo      5
1  bar      6
2  qux      7
3  bar      8
  • 内连接(Inner)
#inner链接
dataLfDf=dataDf1.merge(dataDf2, left_on='lkey',right_on='rkey')
>>>
  lkey  value_x rkey  value_y
0  foo        1  foo        5
1  foo        4  foo        5
2  bar        2  bar        6
3  bar        2  bar        8
  • 右链接(Right)
#Right链接
dataDf1.merge(dataDf2, left_on='lkey', right_on='rkey',how='right')
>>>
  lkey  value_x rkey  value_y
0  foo      1.0  foo        5
1  foo      4.0  foo        5
2  bar      2.0  bar        6
3  bar      2.0  bar        8
4  NaN      NaN  qux        7
  • 全链接(Outer)
#Outer链接
dataDf1.merge(dataDf2, left_on='lkey', right_on='rkey', how='outer')
>>>
  lkey  value_x rkey  value_y
0  foo      1.0  foo      5.0
1  foo      4.0  foo      5.0
2  bar      2.0  bar      6.0
3  bar      2.0  bar      8.0
4  baz      3.0  NaN      NaN
5  NaN      NaN  qux      7.0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas-连接合并函数merge() 的相关文章

随机推荐

  • 软件与系统安全复习

    软件与系统安全复习 课程复习内容 其中 软件与系统安全基础 威胁模型 对于影响系统安全的所有信息的结构化表示 本质上 是从安全的视角解读系统与其环境 用于理解攻击者 什么可信 什么不可信 攻击者的动机 资源 能力 攻击造成的影响 具体场景
  • vue+nodejs人体健康检测系统php 微信小程序 java医院体检预约系统springboot

    体检预约系统小程序的设计主要是对系统所要实现的功能进行详细考虑 确定所要实现的功能后进行界面的设计 在这中间还要考虑如何可以更好的将功能及页面进行很好的结合 方便用户可以很容易明了的找到自己所需要的信息 还有系统平台后期的可操作性 通过对信
  • element select多选不能回显、select多选回显之后不能正常编辑

    选中数据回显时 上面没有显示回显的名称 但是下面会有选中 并且点击选中的数据也无法取消选中 无法选择别的数据 select多选用String格式接的字符串 保存后发现是带 的数据 问题就出现在这里 也就是多选的数据传到后台后是数组形式 如果
  • jQuery 入门教程(24): jQuery UI Autocomplete示例(二)

    如果一个输入框可以接受多个输入项 比如选择你喜欢的语言 以逗号隔开 这是也可以使用AutoComplete为每个输入项提供输入提示 不过此时除了设置数据源外 还需要添加一些事件处理 1 2
  • 阿里云上传视频

    阿里云视频上传 关于大文件的保存 一般会保存在阿里云的视频点播上 因为保存在服务器上呢内存有限 而保存在视频点播上不会占用你服务器的资源 阿里云给你提供保存空间 而收取一定的流量费 参考阿里云的sdk 引入maven
  • 电子银行业务分析系统—项目总结

    电子银行业务分析系统 项目总结 1 2 1 项目概况 XXX银行业务分析系统 是为建行XXXX分行电子银行部开发的综合性业务数据分析系统 其主要基于分行ODSB数据作为数据源 主要包括CCBS 中国建设银行新一代柜面业务系统 和ECTIP
  • 一点点学共形几何(1) 微分几何之拓扑空间简介

    本人计算机专业的 本想直接学习顾险峰老师的计算共形几何学课程 但无奈看起来很吃力 于是想补一点基础拓扑学 但是拓扑学又涉及到微分几何 于是找来梁灿彬老师的 微分几何入门与广义相对论 打算拜读前五章 此文章为阅读时的一些笔记 但是这种书吧不可
  • LC两数之和 JS

    LC两数之和 JS 给定一个整数数组 nums 和一个整数目标值 target 请你在该数组中找出 和为目标值 target 的那 两个 整数 并返回它们的数组下标 你可以假设每种输入只会对应一个答案 但是 数组中同一个元素在答案里不能重复
  • 基于fpga的车牌识别系统(已上板实现,完整系统)

    基于fpga的车牌识别系统 已上板实现 完整系统 modelsim仿真代码 可以上板验证 有完整文档 开发板 正点原子达芬奇Artix 7 FPGA开发板A7 Xilinx XC7A35T 1 设计概要 针对车牌识别项目 车牌定位的准确与否
  • C# 清空数组Array.Clear

    using System using System Collections using System Collections Generic using UnityEngine public class ClearArrayText Mon
  • 【H5】 移动端的基本事件

    H5 移动端的基本事件 一 基础事件 1 PC端事件 onclick 鼠标点击触发 onmousedown 鼠标按下触发 onmousemove 鼠标移动触发 onmouseup 鼠标抬起触发 2 移动端触屏事件 ontouchstart
  • hcip脱产班01天

    桌面云 半条命 CS 射击类游戏 CF穿越火线 2M 4M土豪开网吧 电子游戏厅 网吧 方正主机 纯平大屁股显示器 液晶薄酷睿i7 i9 组装电脑 性价比高 奔腾4处理器央视做广告 主机箱 主板 内存 电源风扇 cpu等等物理硬件 有没有可
  • python使用PyInstaller库打包exe

    前言 python制作了一个小程序 想打包成exe怎么办 这篇博客 教你打包python制作的小程序 下载PyInstaller 首先 我们先按住电脑键盘上的window键 然后按R键 记住要同时按住喔 会弹出以下框 然后我们输入cmd 点
  • 关于quicktime

    前两天一直在做一个关于生化实验的教学视频 用premiere做的 本来拍摄的视频素材是mov格式的 这种格式的文件比较大 而且不能导入premiere的 只有转换成mpg格式的 本来的素材是640 480 但转换格式后就变成384 288
  • Swiper轮播图在Vue框架中的运用

    要在Vue中运用Swiper需要下载Swiper插件 在命令行cmd 可以cd 根目录 输入 npm install vue awesome swiper save 下载成功后 查看package json中是否存在 在mian js中全局
  • dll调用nodejs的回调函数

    nodejs使用ffi调用dll dll中有回调函数调用js中的方法 c语言中cdll h文件 extern C typedef void JsCall int index 这个就是要传入的类型结构 extern declspec dlli
  • 监控项目里的流媒体服务器,监控项目里的流媒体服务器

    监控项目里的流媒体服务器 内容精选 换一换 共享型和独享型负载均衡算法 支持以下几种调度算法 加权轮询算法 根据后端服务器的权重 按顺序依次将请求分发给不同的服务器 它用相应的权重表示服务器的处理性能 按照权重的高低以及轮询方式将请求分配给
  • QT设置ToolButton按钮的样式

    QToolButton min width 80px min height 32px QToolButton color rgb 255 255 255 min height 20 border style solid border top
  • 巴比特

    摘要 据 科创板日报 7 月 11 日报道 北京市经济和信息化局党组书记 局长姜广智在接受记者采访时表示 北京经信局将在算力供给层面提升中长期算力供给能力 加快建设海淀区北京人工智能公共算力 朝阳区北京数字经济算力中心等重点项目 尽快形成算
  • Pandas-连接合并函数merge()

    一 merge函数用途 pandas中的merge 函数类似于SQL中join的用法 可以将不同数据集依照某些字段 属性 进行合并操作 得到一个新的数据集 二 merge 函数的具体参数 用法 DataFrame1 merge DataFr