Pandas实战100例 | 案例 27: 数据合并 - 使用 `merge`

案例 27: 数据合并 - 使用 merge

知识点讲解

在数据处理中,经常需要将来自不同来源的数据集合并在一起。Pandas 提供了 merge 函数,它类似于 SQL 中的 JOIN 操作,可以根据一个或多个键来合并两个 DataFrame。

  • 内连接 (inner): 只合并两个 DataFrame 中都有的键。
  • 外连接 (outer): 合并两个 DataFrame 中的所有键,不存在的值用 NaN 填充。
  • 左连接 (left): 保留左边 DataFrame 的所有键。
  • 右连接 (right): 保留右边 DataFrame 的所有键。
示例代码
# 准备数据和示例代码的运行结果,用于案例 27# 示例数据
data_merging = {'ID': [1, 2, 3, 4],'Name': ['Alice', 'Bob', 'Charlie', 'David']
}
df1_merging = pd.DataFrame(data_merging)additional_data = {'ID': [3, 4, 5, 6],'Age': [25, 30, 35, 40]
}
df2_merging = pd.DataFrame(additional_data)# 合并数据
merged_inner = pd.merge(df1_merging, df2_merging, on='ID', how='inner')
merged_outer = pd.merge(df1_merging, df2_merging, on='ID', how='outer')
merged_left = pd.merge(df1_merging, df2_merging, on='ID', how='left')
merged_right = pd.merge(df1_merging, df2_merging, on='ID', how='right')df1_merging, df2_merging, merged_inner, merged_outer, merged_left, merged_right

在这个示例中,我们使用不同的方式合并了两个 DataFrame:一个包含 ID 和 Name,另一个包含 ID 和 Age。

示例代码运行结果

原始 DataFrame (df1_merging):

   ID     Name
0   1    Alice
1   2      Bob
2   3  Charlie
3   4    David

原始 DataFrame (df2_merging):

   ID  Age
0   3   25
1   4   30
2   5   35
3   6   40

内连接 (merged_inner):

   ID     Name  Age
0   3  Charlie   25
1   4    David   30

外连接 (merged_outer):

   ID     Name   Age
0   1    Alice   NaN
1   2      Bob   NaN
2   3  Charlie  25.0
3   4    David  30.0
4   5      NaN  35.0
5   6      NaN  40.0

左连接 (merged_left):

   ID     Name   Age
0   1    Alice   NaN
1   2      Bob   NaN
2   3  Charlie  25.0
3   4    David  30.0

右连接 (merged_right):

   ID     Name  Age
0   3  Charlie   25
1   4    David   30
2   5      NaN   35
3   6      NaN   40

这个案例展示了如何使用不同类型的连接来合并数据集,这对于数据整合和分析是非常重要的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/622767.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Shell编程自动化之Shell数学运算与条件测试

一、Shell数学运算 1.Shell常见的算术运算符号 序号算术运算符号意义1、-、*、/、%加、减、乘、除、取余2**幂运算3、–自增或自减4&&、||、!与、或、非5、!相等、不相等,也可写成6、、-、*、/、%赋值运算符,a1相等于aa1 2.Shell常…

记录一下常用的工具类

1.通用返回类 import lombok.Data;Data public class CommonResult<T> {private Integer code;private String message;private T data;//成功通用返回public static CommonResult okResult(Object data){CommonResult commonResult new CommonResult(AppHttpCodeEnum.…

chromium通信系统-ipcz系统(十一)-mojo binding

关于mojo binding的官方文档为mojo docs。 由于比较复杂&#xff0c;这里只做简单源码分析。 我们知道要实现rpc&#xff0c;必须实现客户端和服务端。 mojo 实现了一套领域语言&#xff0c;通过领域语言描述接口和数据&#xff0c; 再通过特有编译器编译成c代码。 这个过程会…

C语言之字符串和指针

目录 用数组实现的字符串和用指针实现的字符串 █用数组实现的字符串str █用指针实现的字符串ptr 注意 用数组和指针实现字符串的不同点 字符串数组 用数组实现的字符串的数组——二维数组 用指针实现的字符串数组——指针数组 注意 字符串和指针有着紧密的联系&#…

程序设计语言的分类

编译与解释 编译型 将源代码转换成目标代码&#xff0c;通常源代码是高级语言代码&#xff0c;目标代码是机器语言代码&#xff0c;执行编译的计算机程序称为编译器。 eg:java 好处&#xff1a;对于相同的源代码编译产生的目标代码执行速度更快&#xff0c;目标代码不需要编译…

TikTok系列算法定位还原x-ss-stub

TikTok的x系列的算法比较有名,很多粉丝也问过,之前没有深入研究,本人工作量也比较大。 我们上次说到TikTok的x-ss-stub的算法就是ccmd5标准库算的,今天要讲细致点,表面这个结论本不是直接将数据md5那么来的,是经过一系列分析来的 上图是上次截图的,这次我们分析整个定位…

node(express.js创建项目)+连接mysql数据库

1.node npm的安装 2.express的安装 全局安装:npm install express -gnpm install -g express-generator// ps: 4.0版本把generator分离出来了&#xff0c;需要单独安装3.创建express项目 express 项目名称 cd 项目名称 npm install npm start4.项目中安装数据库 npm install…

flink中的row类型详解

在Apache Flink中&#xff0c;Row 是一个通用的数据结构&#xff0c;用于表示一行数据。它是 Flink Table API 和 Flink DataSet API 中的基本数据类型之一。Row 可以看作是一个类似于元组的结构&#xff0c;其中包含按顺序排列的字段。 Row 的字段可以是各种基本数据类型&…

C语言督学营(高级阶段)

文章目录 高级阶段19.C语言语法进阶1.条件运算符、逗号运算符(1)条件运算符 / 三目运算符   ? :(2)逗号运算符   , 2.自增自减运算符3.位运算符&#xff1a;按位或、按位异或、按位取反(1)逻辑与、按位与、左移、右移(2)有符号数右移 vs 无符号数右移(3)按位与、按位或、按位…

Docker学习与应用(五)-DockerFile

1、DockerFile 1&#xff09;DockerFile介绍 dockerfile是用来构建docker镜像的文件&#xff01;命令参数脚本&#xff01; 构建步骤&#xff1a; 1. 编写一个dockerfile文件 2. docker build 构建称为一个镜像 3. docker run运行镜像 4. docker push发布镜像&#xff08;D…

LC 83. 删除排序链表中的重复元素

83. 删除排序链表中的重复元素 难度 &#xff1a; 简单 题目&#xff1a; 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回 已排序的链表 。 提示&#xff1a; 链表中节点数目在范围 [0, 300] 内-100 < Node.va…

蓝桥杯准备

书籍获取&#xff1a;Z-Library – 世界上最大的电子图书馆。自由访问知识和文化。 (zlibrary-east.se) 书评&#xff1a;(豆瓣) (douban.com) 一、观千曲而后晓声 别人常说蓝桥杯拿奖很简单&#xff0c;但是拿奖是一回事&#xff0c;拿什么奖又是一回事。况且&#xff0c;如果…

Docker教程

docker 安装 官方文档 wget -qO- https://get.docker.com/ | sh sudo usermod -aG docker your-user sudo usermod -aG docker ${USER} newgrp docker # 更新docker用户组 cat /etc/group | grep docker docker --version 使用非root用户管理 帮助启动类 命令 system…

vue3+ts 中实现压缩图片、blob 转 base64

压缩图片 1.npm 安装 image-compressor.js 2.引入 import ImageCompressor from image-compressor.js 3.使用 const compressImage async (file: any) > {var imageCompressor new ImageCompressor()return new Promise((resolve, reject) > {imageCompressor.comp…

寄快递有没有什么省钱的小妙招? 怎样寄快递才能省钱呢?

快递物流行业的快速崛起刺激了人们的消费欲望&#xff0c;其中典型的是每每到重大节日尤其是双十一或者双十二&#xff0c;消费市场异常火爆&#xff0c;这也使得快递行业加班加点的干也不追不上人们下单的速度。如今&#xff0c;互联网时代崛起&#xff0c;网购成为了大家最寻…

机器学习_捕捉函数的变化趋势(凸函数)

文章目录 连续性是求导的前提条件通过求导发现 y 如何随 x 而变凸函数有一个全局最低点 机器学习所关心的问题之一捕捉函数的变化趋势&#xff0c;也就是标签&#xff08;y&#xff09;是如何随着特征字段&#xff08;x&#xff09;而变化的&#xff0c;这个变化趋势是通过求导…

代码随想录day30 回溯算法最终章

51. N皇后 题目 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回所有不同的 n 皇后问题 的解决方案。 每一种解法包含一个不同的 n 皇后问题 的棋子放置方案&#xff0c;该方案中 Q 和…

想做好项目,网工必看!

上午好&#xff0c;我是老杨。 做项目&#xff0c;贯穿一个网络工程师职业生涯的始终。不管是大项目还是小项目&#xff0c;做久了项目&#xff0c;都会形成一种自己的方法论。 项目要划分&#xff0c;无非就是新网组建&#xff0c;旧网优化&#xff0c;以及网络排障三大类。…

【已解决】Spring常见错误:类文件具有错误的版本 61.0, 应为 52.0

目录 问题复现原因分析错误依赖正确依赖 问题复现 报错内容如下&#xff1a; java: 无法访问org.springframework.web.bind.annotation.RequestMapping 错误的类文件: /D:/Java/Apache Software Foundation/apache-maven-3.6.3/maven/repository/org/springframework/spring…

ISO11898-闭环高速CAN网络 (125K~1Mbps)

ISO11898 标准的物理框图如下图 可理解为一个高速闭环 CAN 总线网络&#xff1b;CAN 闭环总线网络允许总线最大长度为 40m;最高速度为 1Mbps;可以看到总线的两端各有一个 120Ω 的电阻&#xff0c;此电阻作为阻抗匹配功能&#xff0c;以减少回波反射;节点就是不同的设备&#…