数据合并之concat、append、merge和join

article/2025/10/6 3:44:23

Pandas 是一套用于 Python 的快速、高效的数据分析工具。它可以用于数据挖掘和数据分析,同时也提供数据清洗功能。本文将详细讲解数据合并与连接,目录如下:

50ffcec213c53df26d0e73dbeb5c3c13.png

concat

一.定义

concat函数可以在两个维度上对数据进行拼接,默认纵向拼接(axis=0),即按行拼接。拼接方式默认为外连接(outer),即取所有的表头字段或索引字段。

二.语法

pd.concat(objs,axis=0, join='outer', ignore_index=False,

keys=None,levels=None, names=None, verify_integrity=False, 

copy=True)

参数释义:

objs:需要用于连接合并的对象列表

axis:连接的方向,默认为0(按行),按列为1

join:连接的方式,默认为outer,可选inner只取交集

ignore_index:合并后的数据索引重置,默认为False,可选True

keys:列表或数组,也可以是元组的数组,用来构造层次结构索引

levels:指定用于层次化索引各级别上的索引,在有keys值时

names:用于创建分层级别名称,在有keys和levels时

verify_integrity:检查连接对象中新轴是否重复,若是则异常,默认为False允许重复

copy:默认为True,如果是False,则不会复制不必要的可以提高效率

三.代码示例

首先,我们看一个简单的例子:

55316b1b25a6b1e56f97d7c221b36d47.png

以上代码构建了3个字典并转为DataFrame,然后通过concat实现默认方式合并。合并演示如下:

f3d4294e567a1e84f65e10c18e9728c3.png

1.设置参数keys

110962e33ddeb7db802d171c6258fd04.png

cc69bad4b7ef1ad10454503e72370ba7.png

a684b7177208fd2471a82c93713c0952.png

87664dd0bd72f245d9c8ae18e24a1e05.png

234cc7f19ef725873e8db42ae19fbf61.png

2.设置axis参数

axis=1按列合并,默认情况下,join='outer',合并时索引全部保留,对于不存在值的部分会默认赋NaN。

9d620b33c7108aad9250a45c4d3e8ab1.png

24a8038aa68c9db45f70b88358e3ce11.png

2bbbdf40fd397da7c1553e2fbc23b0d5.png

3.设置join参数

601c7814822ef2db50bba53cabd642f0.png

40cdef115851b84e53ec46c136a5b502.png

4.设置ignore_index参数

277e1f037390a87083cbd73d745e7bbc.png

5.Series与DataFrame合并

9b51de0d6fc470e81bb5866293c59fa7.png


append

一.定义

运用append方法,可以将Series或字典数据添加到DataFrame。

二.代码示例

cd9eab7ca14cb65477281079619ea65b.png



merge

一.定义

merge函数可根据一个或多个键(列)相同进行DataFrame拼接。类似于关系型数据库的join操作。

二.语法

pd.merge(left, right, how='inner', on=None, left_on=None, 

right_on=None,left_index=False,right_index=False, sort=True,

suffixes=('_x', '_y'), copy=True, indicator=False,validate=None)

参数释义:

left:参与合并的左侧数据

right:参与合并的右侧数据

how:合并类型:inner(默认内连接)、outer(外连接)、left(左连接)、right(右连接)

on:用于连接的列名,默认为左右侧数据共有的列名,指定时需要为左右侧数据都存在的列名

left_on:左侧数据用于连接的列

right_on:右侧数据用于连接的列

left_index:将左侧索引作为连接的列

right_index:将右侧索引作为连接的列

sort:排序,默认为True,设置为False可提高性能

suffixes:默认为('_x', '_y'),可以自定义如('date_x','date_y')

copy:默认为True,如果是False,则不会复制不必要的可以提高效率

indicator:指示器,默认False,设置为True时会新增一列标识

validate:字符串,如果指定则会检测合并的数据是否满足指定类型(1对1,1对多,多对1,多对多)

三.示例

首先,我们看一个简单的例子:

d03712286b511a6a649303740ba59115.png

a9baef4c4373601e5ef8e54b7d39e76c.png

1.设置参数how

c8c0cf1210deb553bf145de6f8d00571.png

f6c2aa5674873a4d9b1b57f7c217698e.png

cca8b509b7c7ad03c823610dc626ef74.png

e82a0b1086538b35404bfc5cf0d08c48.png

2.设置validate参数

c664788ef160f5be39300c561712d34b.png

3.设置indicator参数

98048151162759dfa4078c8e17fe1635.png

4.设置left_on参数和right_on参数

c1cf3972fe9fc78865e52fb574a63d4a.png




join

一.定义

join可以将两个没用共同列名的数据进行快速合并,默认是保留被合并的数据索引。join接受的参数有how、on和suffix等。

二.示例

b1230043f1fa0efa88a03a15b93ce58b.png

719796a462ce48413851a3885396b2b5.png

9e5143a6d743dda85838531d6fab3d8b.png

E N D

f2eaee1a5e855eabad7d89de4edf1b64.png

各位伙伴们好,詹帅本帅搭建了一个个人博客和小程序,汇集各种干货和资源,也方便大家阅读,感兴趣的小伙伴请移步小程序体验一下哦!(欢迎提建议)

推荐阅读

牛逼!Python常用数据类型的基本操作(长文系列第①篇)

牛逼!Python的判断、循环和各种表达式(长文系列第②篇)

牛逼!Python函数和文件操作(长文系列第③篇)

牛逼!Python错误、异常和模块(长文系列第④篇)


http://chatgpt.dhexx.cn/article/Qv41xwXY.shtml

相关文章

这些数据合并的神操作,你掌握几个?

导读:在数据分析过程中,有时候需要将不同的数据文件进行合并处理。本文主要介绍三种数据合并方法。 Pandas提供了多功能、高性能的内存连接操作,本质上类似于SQL等关系数据库,比如,merge、join、concat等方法可以方便地…

6、数据的合并

目录 一、添加变量即横向合并。 二、添加个案即纵向合并 在实际工作中,为了提高效率,经常需要将一份数据分成几部分分别录入,或为了便于分析,又将几个数据文件合并成一个总的数据文件。为此,SPSS提供了两种合并数据文…

【数据科学】05 数据合并(merge、concat、combine)与数据清洗(缺失值、重复值、内容和格式)

文章目录 1. 数据合并1.1 merge()合并1.2 concat()合并1.3 combine()合并 2. 数据清洗2.1 缺失值2.2 重复值2.3 内容与格式清洗 1. 数据合并 实际应用中,需要分析的数据可能来自不同的数据集,因此在开始数据分析之前,需要先将不同的数据集合…

Gradle 入门

1、Gradle 入门 1.1 Gradle 简介 Gradle 是一款 Google 推出的基于JVM、通用灵活的项目构建工具,支持 Maven,JCenter 多种第三方仓库;支持传递性 依赖管理、废弃了繁杂的 xml 文件,转而使用简洁的、支持多种语言(例如:java、gro…

Gradle【扫盲】之简易使用教程

官网地址 https://gradle.org/版本选择 如果使用的是idea,可以在idea的plug目录下查看支持的gradle的版本: 进入目录: 那我们到官网下载对应版本的gradle即可 Gradle下载及配置 进入官网,查看发行版本 选择对应的安装包 b…

Linux 安装gradle完整教程

Linux 安装gradle 1.下载gradle https://gradle.org/install/ 选择版本下载 点击下载 也可以在这里下载历史版本 https://services.gradle.org/distributions/ 2.将包上传到服务器,我这里下载的包是6.7的你们可以下载各自需要的版本 zip包解压 unzip gradle-8.…

gradle快速入门

1.Gradle 入门 1.1 Gradle 简介 Gradle 是一款Google 推出的基于JVM、通用灵活的项目构建工具,支持Maven,JCenter 多种第三方仓库;支持传递性依赖管理、废弃了繁杂的xml 文件,转而使用简洁的、支持多种语言(例如:java、groovy 等…

Gradle下载安装教程

前言 1.gradle和maven一样都是用来构建java程序的,maven2004年开始兴起,gradle2012年开始诞生,既然已经有了maven这么成熟的构建工具为什么还有gradle的诞生呢,因为gradle有很多地方比maven做的更好,例如gradle采用gro…

Gradle 15分钟入门教程

1-Gradle入门介绍 在阅读或实践本文中的实例前,必须首先确保已将Gradle插件安装到Eclipse中。如果没有,可以点击下面的链接查看Gradle安装说明: - http://www.yiibai.com/gradle/how-install-gradle-windows.html 本教程的目标: …

gradle安装与入门

1. Gradle安装(本地也可不安装,不安装gradle配置选择gradle wrapper) 下载地址:http://services.gradle.org/distributions/ 下载你所需要对应的版本,gradle-4.6.1-bin.zip 下载后解压到你想要的目录 设置环境变量 新建系统变量&…

Android—Gradle教程(一)

前言 在前几篇中,讲解了Groovy的基础语法,学习新语法过程总是枯燥的,但为了更好的掌握Gradle,那就必须经过该过程。当然从这一篇将会从零基础开始,开展对Gradle的讲解。 1. 掌握Gradle基础 1.1 环境配置 去官网下载…

Gradle使用教程

前言 相信使用Java的同学都用过Maven,这是一个非常经典好用的项目构建工具。但是如果你经常使用Maven,可能会发现Maven有一些地方用的让人不太舒服: Maven的配置文件是XML格式的,假如你的项目依赖的包比较多,那么XML文…

gradle入门简介以及安装

一、简介 java作为一门世界级主流编程语言,有一款高效易用的项目自动化构建工具是java开发者共同追求的心愿和目标。先是2000年Ant,后有2004年Maven两个工具的诞生,都在java市场上取得了巨大的成功。但是二者都有一定的不足和局限性。 2012年…

【构建工具】Gradle中文教程

文章目录 Gradle 简介Gradle 概述基于声明的构建和基于约定的构建为以依赖为基础的编程方式提供语言支持构建结构化深度 APIGradle 的扩展多项目构建多种方式管理依赖Gradle 是第一个构建集成工具易于移植GroovyThe Gradle wrapper自由和开源 为什么使用 Groovy? Gradle 安装先…

Gradle 入门教程(一):Gradle是什么

这是一篇Gradle的入门教程 一、 Gradle是什么 1.1 构建工具 要解释Gradle是什么,首先要搞清楚一个名词——构建工具(Build Tool)。 构建工具,顾名思义就是用于构建(Build)的工具,构建包括编…

Gradle 的下载安装教程

Gradle 8.0.1 下载安装教程 笔者的环境: Java 17.0.1 Gradle 8.0.1 Windows 10 教育版 64位 在继续阅读本教程之前,需要先完成 JDK 的安装。JDK 需要选择 8 及以上的版本。关于 JDK 的安装,可见笔者的另一篇博客: Java 的下载…

Gradle初级使用教程

一.Gradle简介 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。 二.为什么使用Gradle Gra…

Gradle 简易入门教程

作者: Yann 来源:原力注入 Gradle 是一种构建工具,它抛弃了基于XML的构建脚本,取而代之的是采用一种基于 Groovy(现在也支持 Kotlin)的内部领域特定语言。 Gradle特点 Gradle是很成熟的技术,可…

Gradle的详细安装配置及使用教程

Gradle的详细安装配置及使用教程 Gradle的安装 到Gradle官网,官网地址:https://gradle.org/releases/。下载对应的版本,本文安装的是 4.3.1 版本。 下载完成后解压 环境配置 配置环境变量,新建名为 GRADLE_HOME 值为你的 Gr…

Gradle的使用教程

一、相关介绍 Gradle是一个好用的构建工具 ,使用它的原因是: 配置相关依赖代码量少,不会像maven一样xml过多 打包编译测试发布都有,而且使用起来方便 利用自定义的任务可以完成自己想要的功能 二、安装 下载地址http://services…