5.1 合并数据

article/2025/10/6 0:55:31

5.1 合并数据

  • 5.1.1 堆叠合并数据
    • 1、横向堆叠 concat()
    • 2、纵向堆叠 concat()和append()
  • 5.1.2 主键合并数据 merge()和join()
  • 5.1.3 重叠合并数据 combine_first()

5.1.1 堆叠合并数据

  堆叠就是简单地把两个表拼在一起,也被称作轴向连接、绑定或连接。依照连接轴的方向,数据堆叠可以分为横向堆叠和纵向堆叠。

1、横向堆叠 concat()

  横向堆叠,即将两个表在X轴向拼接在一起,可以使用concat函数完成,concat函数的基本语法如下。

pandas.concat(objs, axis=0, join=‘outer’, join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, copy=True)

在这里插入图片描述
  当axis=1的时候,concat做行对齐,然后将不同列名称的两张或多张表合并。当两个表索引不完全一样时,可以使用join参数选择是内连接还是外连接。在内连接的情况下,仅仅返回索引重叠部分。在外连接的情况下,则显示索引的并集部分数据,不足的地方则使用空值填补。
横向堆叠外连接示例如下:
在这里插入图片描述

## 1、横向堆叠 concat()
import numpy as np
import pandas as pd
path1 = 'E:/Input/5_1_swc12.csv'
path2 = 'E:/Input/5_1_swc34.csv'
df1 = pd.read_csv(path1)
print("df1:", df1.shape)
print(df1)
df2 = pd.read_csv(path2)
print("df2:", df2.shape)
print(df2)outer_data = pd.concat([df1,df2], axis = 1, join='outer',keys = 'Date')
print("外连接data:", outer_data.shape)
print(outer_data)
inner_data = pd.concat([df1,df2], axis = 1, join='inner', keys = 'Date')
print("内连接data:", inner_data.shape)
print(inner_data)

在这里插入图片描述
   Notes: 当两张表完全一样时,不论join参数取值是inner或者outer,结果都是将两个表完全按照X轴拼接起来。

2、纵向堆叠 concat()和append()

(1)concat()
  使用concat函数时,在默认情况下,即axis=0时,concat做列对齐,将不同行索引的两张或多张表纵向合并。在两张表的列名并不完全相同的情况下,可join参数取值为inner时,返回的仅仅是列名交集所代表的列,取值为outer时,返回的是两者列名的并集所代表的列,纵向堆叠外连接示例如图所示。
在这里插入图片描述

outer_data = pd.concat([df1,df2], axis = 0, join='outer',keys = 'Date')
print("纵向堆叠外连接data:", outer_data.shape)
print(outer_data)
inner_data = pd.concat([df1,df2], axis = 0, join='inner', keys = 'Date')
print("纵向堆叠内连接data:", inner_data.shape)
print(inner_data)

在这里插入图片描述
   Notes: 当两张表完全一样时,不论join参数取值是inner或者outer,结果都是将两个表完全按照Y轴拼接起来。
(2)append() #append方法已弃用,并将在未来的版本中从pandas中删除。
  append方法也可以用于纵向合并两张表。但是append方法实现纵向表堆叠有一个前提条件,那就是两张表的列名需要完全一致。

pandas.DataFrame.append(self, other, ignore_index=False, verify_integrity=False)。

在这里插入图片描述

path1 = 'E:/Input/5_1_swc12.csv'
path3 = 'E:/Input/5_1_swc12_副本.csv'
df1 = pd.read_csv(path1)
print("df1:", df1.shape)
print(df1)
df3 = pd.read_csv(path3)
print("df3:", df3.shape)
print(df3)data = df1.append(df3)
print("data:", data.shape)
print(data)

在这里插入图片描述

5.1.2 主键合并数据 merge()和join()

  主键合并,即通过一个或多个键将两个数据集的行连接起来,类似于SQL中的JOIN。针对同一个主键存在两张包含不同字段的表,将其根据某几个字段一一对应拼接起来,结果集列数为两个元数据的列数和减去连接键的数量。
在这里插入图片描述
(1)merge函数
  和数据库的join一样,merge函数也有左连接(left)、右连接(right)、内连接(inner)和外连接(outer),但比起数据库SQL语言中的join和merge函数还有其自身独到之处,例如可以在合并过程中对数据集中的数据进行排序等。

pandas.merge(left, right, how=‘inner’, on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=(‘_x’, ‘_y’), copy=True, indicator=False)

可根据merge函数中的参数说明,并按照需求修改相关参数,就可以多种方法实现主键合并。
在这里插入图片描述

# 5.1.2 主键合并数据 merge()
# df1 = pd.read_csv(path1)
print(df1)
# df2 = pd.read_csv(path2)
print(df2)
# 合并
# data = pd.merge(df1, df2, on='Date', how = 'outer') # 与下面一样
data = pd.merge(df1, df2, left_on='Date', right_on='Date',how = 'outer')
print(data)
#  合并并根据连接键排序
data = pd.merge(df1, df2, on='Date', how = 'outer',sort = True)
print(data)

在这里插入图片描述
(1)join函数
  join方法也可以实现部分主键合并的功能,但是join方法使用时,两个主键的名字必须相同。

pandas.DataFrame.join(self, other, on=None, how=‘left’, lsuffix=‘’, rsuffix=‘’, sort=False)

在这里插入图片描述

5.1.3 重叠合并数据 combine_first()

  数据分析和处理过程中若出现两份数据的内容几乎一致的情况,但是某些特征在其中一张表上是完整的,而在另外一张表上的数据则是缺失的时候,可以用combine_first方法进行重叠数据合并,其原理如下。
在这里插入图片描述

pandas.DataFrame.combine_first(other)

在这里插入图片描述

# 5.1.3 重叠合并数据
path5 = 'E:/Input/5_1_swc12 - 副本.csv'
path6 = 'E:/Input/5_1_swc12 - 副本 (2).csv'
df5 = pd.read_csv(path5)
print(df5)
df6 = pd.read_csv(path6)
print(df6)
# 合并
data = df5.combine_first(df6)
print(data)

在这里插入图片描述


http://chatgpt.dhexx.cn/article/7DGcuWDW.shtml

相关文章

极速系列03—python进行数据合并(concat/merge)

两个表中的数据,要根据关键字段,进行合并。 在Excel中可以使用vlookup的方式,在python中可以使用concat或者是merge的方法。 1、pd.concat pd.concat 函数 拼接的对象可以是series,还可以是dataframe拼接对象的个数不受限axis …

Pandas 合并数据集

在数据挖掘过程中,经常会有不同表格的数据需要进行合并操作。今天介绍通过python下的pandas库下的merge方法和concat方法来实现数据集的合并。 1.merge merge 函数通过一个或多个键来将数据集的行连接起来。该函数的主要 应用场景是针对同一个主键存在两张包含不同…

「python」DataFrame数据合并

使用python读取数据,进行所谓表的合并是非常常见的。但是我在这里不是介绍如何合并不同类型的表格 介绍两个函数:pandas.merge和pandas.concat 1. merge merge可以翻译成是融合的意思,使用的时候注意参数的设置。 函数的参数: …

Pandas | 详解数据的合并和拼接

转自Pandas | 详解数据的合并和拼接 个人学习收藏,侵删 -------------------------------------------------------------------------------------------------------- Pandas包的merge、join、concat方法可以完成数据的合并和拼接,merge方法主要基于…

一文搞定pandas的数据合并

作者:来源于读者投稿 出品:Python数据之道 一文搞定pandas的数据合并 在实际处理数据业务需求中,我们经常会遇到这样的需求:将多个表连接起来再进行数据的处理和分析,类似SQL中的连接查询功能。 pandas中也提供了几种方…

MySQL将多条数据合并成一条

数据库中存的是多条数据,展示的时候需要合并成一条 数据表存储形式如下图 以type分组,type相同的算一条,且保留image和link的所有数据,用groupBy只保留一条数据 解决方案:用 GROUP_CONCAT 完整语法如下 group_conc…

python数据合并

1.横向堆叠,即将两个表在x轴上拼接到一起,可以用concat函数进行。concat函数的基本语法如下: pandas.concat(objs,axis0,joinouter,join_axesNone,ignore_indexFalse, keysNone,levelsNone,namesNone,verify_integrityFalse,copyTrue) objs&…

python DataFrame数据合并 merge()、concat()方法

文章目录 merge()1.常规合并①方法1②方法2重要参数合并方式 left right outer inner准备数据‘inner(默认)outerleftright 2.多对一合并3.多对多合并 concat()1.相同字段的表首位相连2.横向表合并(行对齐)3.交叉合并 merge() 1.常…

python数据分析之pandas数据合并

🌷这一章节来介绍pandas中的DateFrame实现数据合并的操作,类似于SQL中的内连接、外连接的操作. 目录 1. 合并数据的方式2. Merge合并方法2.1 连接2.1.1 直接用on连接2.1.2 采用left_on 和 right_on连接2.1.3 采用left_index 和 right_index连接 2.2 合并…

Pandas数据合并与拼接的5种方法

pandas实现数据的合并与拼接 目录 一、DataFrame.concat:沿着一条轴,将多个对象堆叠到一起 二、DataFrame.merge:类似 vlookup 三、DataFrame.join:主要用于索引上的合并 四、Series.append:纵向追加Series 五、…

Pandas 数据处理 | 多个数据表怎么合并(merge),你了解么?

Pands 两个数据列表合并方法总结; merge() 函数用于合并两个 DataFrame 对象或 Series,数据处理时经常会用到这个函数,官网给出该函数的定义如下: pandas.merge(left, right, how: str ‘inner’, onNone, left_onNone, right_…

[Pandas] 数据合并 pd.merge

实现类似SQL的join操作,通过pd.merge()方法可以自由灵活地操作各种逻辑的数据连接、合并等操作 可以将两个DataFrame或Series合并,最终返回一个合并后的DataFrame 语法 pd.merge(left, right, how inner, on None, left_on None, right_on None,l…

6.1 多数据源合并

1.案例介绍 通过Kettle工具将A公司和B公司的手机日销售数据合并到一个数据源(数据表company)中,也就是对文件company_a.csv和数据表company_b中的数据进行合并操作,并输出到数据表company中。 2.数据准备 假设,某公…

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

Pandas 是一套用于 Python 的快速、高效的数据分析工具。它可以用于数据挖掘和数据分析,同时也提供数据清洗功能。本文将详细讲解数据合并与连接,目录如下: ① concat 一.定义 concat函数可以在两个维度上对数据进行拼接,默认纵向…

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

导读:在数据分析过程中,有时候需要将不同的数据文件进行合并处理。本文主要介绍三种数据合并方法。 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.…