Pandas实战100例 | 案例 8: 数据合并 - 使用 `concat`、`merge` 和 `join`

案例 8: 数据合并 - 使用 concatmergejoin

知识点讲解

在数据分析中,经常需要将不同的数据集合并在一起。Pandas 提供了 concat, merge, 和 join 几种方法来实现数据的合并。

  • concat: 用于沿一定轴向将多个对象堆叠在一起。可以用于简单的数据合并操作,尤其是相同形状的 DataFrame。
  • merge: 类似于 SQL 中的 JOIN 操作。它可以根据一个或多个键将不同的 DataFrame 合并在一起。适用于列之间的关系合并。
  • join: 是 merge 的便捷方法,默认按照索引进行合并,也可以用来按照列合并。
示例代码

使用 concat 合并

# 合并两个 DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3]})
df2 = pd.DataFrame({'B': [4, 5, 6]})
concatenated_df = pd.concat([df1, df2], axis=1)
print(concatenated_df)

使用 merge 合并

# 根据共同列合并两个 DataFrame
df3 = pd.DataFrame({'A': [1, 2, 3], 'C': ['x', 'y', 'z']})
merged_df = pd.merge(df1, df3, on='A')
print(merged_df)

使用 join 合并

# 根据索引合并两个 DataFrame
df4 = pd.DataFrame({'D': ['d', 'e', 'f']}, index=[1, 2, 3])
joined_df = df1.join(df4)
print(joined_df)

代码解释:

  1. pd.concat([df1, df2], axis=1)df1df2 按列合并。
  2. pd.merge(df1, df3, on='A') 根据列 Adf1df3 合并。
  3. df1.join(df4) 根据索引将 df1df4 合并。

合并操作是数据整合的重要环节,可以有效地组合来自不同来源的数据。

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

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

相关文章

python类装饰器编写单体类

1 python类装饰器编写单体类 类装饰器用于装饰类,用于管理类自身,或用于管理实例创建调用。 单体类,不管创建多少次实例,都只有一个实例的类。可以通过类装饰器管理装饰类的全部实例,实现单体类。 1.1 字典存放单体…

冠军团队!第二届百度搜索创新大赛AI方案

Datawhale干货 作者:李柯辰,Datawhale成员 写在前面 大家好,我们是2023年第二届百度搜索创新大赛 赛道三——AI应用设计赛道的冠军团队——“肝到凌晨”,很高兴能与大家分享我们这次比赛的经验,同时也希望以后有机会可…

50天精通Golang(第15天)

数据表的查询语句 用户对于数据表或视图等最常用的操作就是查询。也叫检索。通过select语句来实现 语法规则: select {columns}from {table|view|other select}[where 查询条件][group by 分组条件][having 分组后再限定][order by 排序]注意事项: sq…

利用gulp工具对常规web项目进行压缩打包

前言 对于一个常规的web项目,如下项目目录 |- imgs | - img1.png | - img2.png |- js | - user.js | - utils.js |- css | - index.css | - user.css |- html | - user.html |- index.html可以使用各种构建工具(如webpack、gulp、grunt等)来…

Linux第29步_虚拟机连接(与主机断开连接)U盘选项为灰色解决方法

在WIN11中,虚拟机“连接(与主机断开连接)U盘”选项为灰色,解决方法如下: 1、关闭虚拟机电源,得到下面的界面: 2、根据上述提示,找到虚拟机所在磁盘 3、配置文件属性见下图: 4、使用记事本打开…

关于达梦DMHS同步性能提升的几个参数介绍

1、事务缓存相关参数 EXEC模块在处理事务时,首先要对事务数据进行收集归类,通过事务ID把同一个事务的操作都归到一起。EXEC模块在初始化时,根据exec_sql参数指示的内存池大小来初始化内存池,收集事务操作时,都将从该内…

二、安全与风险管理—业务连续性计划(BCP)和灾难恢复计划(DRP)需求

目录 一、业务连续性计划(BCP) 1.业务连续的重要性和一些名词的定义 2.BCP的目的和标准

基于stm32f4的蓝牙控制小车

1. 引言 蓝牙的创始人是瑞典爱立信公司,蓝牙技术是一种无限数据与语音通信的开放性全球规范,它以低成本的近距离无线连接为基础,为固定与移动设备通信环境建立一个特别连接。手机之间通过蓝牙实现数据共享成为常理,将手机变为遥…

共融共生:智慧城市与智慧乡村的协调发展之路

随着科技的飞速发展和全球化的不断深入,智慧城市和智慧乡村作为现代社会发展的重要组成部分,正逐渐成为人们关注的焦点。然而,在追求经济发展的过程中,城乡发展不平衡的问题也日益凸显。因此,如何实现智慧城市与智慧乡…

【设计模式-04】Factory工厂模式

简要描述 简单工厂静态工厂工厂方法 FactoryMethod 产品维度扩展 抽象工厂 产品一族进行扩展Spring IOC 一、工厂的定义 任何可以产生对象的方法或类,都可以称之为工厂单例也是一种工厂不可咬文嚼字,死扣概念为什么有了new之后,还要有工厂&am…

oracle 12c pdb expdp/impdp 数据导入导出

环境 (源)rac 环境 byoradbrac 系统版本:Red Hat Enterprise Linux Server release 6.5 软件版本:Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit byoradb1:172.17.38.44 byoradb2:172.17.38.45 (目的&am…

轻松上手Linux文件操作:五种方法教你创建文件

轻松上手Linux文件操作:五种方法教你创建文件 一、引言二、使用touch命令创建文件三、使用文本编辑器创建文件四、使用echo命令创建文件五、使用cat命令创建文件六、使用重定向符号创建文件七、总结 一、引言 本文介绍五种在Linux系统中创建文件的方法,…

Dayjs使用

官方文档:安装 | Day.js中文网 相对moment.js而已,day.js的体积更小,只有2KB左右;moment.min.js 有16.7KB。 常用方法: import dayjs from dayjs;// 格式化 console.log(dayjs().format(YYYY-MM-DD HH:mm:ss)); // 2…

缓存解析:从架构设计到Redis应用及最佳实践

典型架构设计中缓存的存储位置 在现代软件架构中,缓存是优化数据检索、提高应用性能的关键组件。缓存的存储位置多种多样,每个位置针对特定的优化目标和需求。理解这些层级对于设计高效的系统至关重要。 浏览器缓存:这是最接近用户端的缓存层…

公共用例库计划--个人版(三)导出Excel功能

1、任务概述 本次计划的核心任务是开发一个,个人版的公共用例库,旨在将各系统和各类测试场景下的通用、基础以及关键功能的测试用例进行系统性地归纳整理,并以提高用例的复用率为目标,力求最大限度地减少重复劳动,提升…

Docker Compose 部署 jenkins

Docker Compose 部署 jenkins jenkins 部署 Docker-Compose 部署 version: 3.1 services:jenkins:image: jenkinsci/blueoceanvolumes:- /data/jenkins/:/var/jenkins_home- /var/run/docker.sock:/var/run/docker.sock- /usr/bin/docker:/usr/bin/docker- /usr/lib/x86_64-…

网络层协议及IP编址与IP路由基础华为ICT网络赛道

目录 4.网络层协议及IP编址 4.1.网络层协议 4.2.IPv4地址介绍 4.3.子网划分 4.4.ICMP协议 4.5.IPv4地址配置及基本应用 5.IP路由基础 5.1.路由概述 5.2.静态路由 5.3.动态路由 5.4.路由高阶特性 4.网络层协议及IP编址 4.1.网络层协议 IPv4(Internet Protocol Versi…

第二百六十二回

文章目录 概念介绍使用方法示例代码使用扩展 我们在上一章回中介绍了flutter_screenutil包相关的内容,本章回中将介绍dart中的setter/getter方法.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在这里介绍的setter/getter方法属于编程语言中的知识…

Android MediaCodec 简明教程(一):使用 MediaCodecList 查询 Codec 信息,并创建 MediaCodec 编解码器

系列文章目录 文章目录 系列文章目录前言一、MediaCodecList 是什么?二、MediaCodecList 使用方法1. 获取 MediaCodecList 实例2. 列出设备上支持的编解码器3. 获取编解码器详细信息4. 判断设备是否支持某种编解码器5. 查询默认的编解码器 三、通过 MediaCodecList …

【Java 设计模式】设计原则之开放封闭原则

文章目录 1. 定义2. 好处3. 应用4. 示例结语 在软件开发中,设计原则是创建灵活、可维护和可扩展软件的基础。 这些原则为我们提供了指导方针,帮助我们构建高质量、易理解的代码。 ✨单一职责原则(SRP) ✨开放/封闭原则&#xff08…