python数据处理----数据合并

article/2025/10/6 0:50:03

连接数据

加载多份数据连接

# 读取数据
df1 = pd.read_csv('../data/concat_1.csv')
df2 = pd.read_csv('../data/concat_2.csv')
df3 = pd.read_csv('../data/concat_3.csv')
print(df1)
print(df2)
print(df3)

在这里插入图片描述

# 连接数据  concat([数据1,数据2])方法
row_concat = pd.concat([df1,df2,df3])

在这里插入图片描述

DataFrame和Series连接:

Series是列数据,concat方法默认是添加行,由于Series数据没有行索引,所以添加了一个新列,缺失的数据用NaN填充

new_series = pd.Series(['n1','n2','n3','n4'])
row_concat = pd.concat([df1,new_series])
print(row_concat)

在这里插入图片描述

concat()方法可以连接多个,如果只需要追加一个对象可以使用append()方法:

df1.append(df2)

在这里插入图片描述

DataFrame添加一行数据:

ignore_index = True参数,忽略后面DataFrame的索引

data_dict = {'A':'n1','B':'n2','C':'n3','D':'n4'}
df1.append(data_dict,ignore_index=True)

在这里插入图片描述

DataFrame拼接一列数据

添加一列数据只需要DataFrame['列名'] = ['值1','值2']或者DataFrame['列名'] = Series对象

# concat()方法控制参数axis添加列
col_concat = pd.concat([df1,df2,df3],axis=1)
print(col_concat)

在这里插入图片描述
重置列索引:

col_concat = pd.concat([df1,df2,df3],axis='columns',ignore_index=True)
print(col_concat)

在这里插入图片描述

  1. 连接不同索引的数据集

用concat直接连接不同索引位置的值为NaN

df1.columns = ['A','B','C','D']
df2.columns = ['E','F','G','H']
df3.columns = ['A','C','F','H']
row_concat = pd.concat([df1,df2,df3])
print(row_concat)

在这里插入图片描述

添加join参数为inner,默认为outer,连接时只有索引相同的会显示:
在这里插入图片描述


合并多个数据集

读取MySQL数据库表:

from sqlalchemy import create_engine
# sqlalchemy创建mysql数据库连接
engine = create_engine('mysql+pymysql://root:mysql@localhost:3306/teachingdb_rcq')
# read_sql_table('表名',数据库连接引擎) 方法读取数据库
t_course = pd.read_sql_table('t_course',engine)
t_sinfo = pd.read_sql_table('t_sinfo',engine)
t_student = pd.read_sql_table('t_student',engine)
t_student_course = pd.read_sql_table('t_student_course',engine)
t_teacher = pd.read_sql_table('t_teacher',engine)

在这里插入图片描述
读取sqlite文件:

from sqlalchemy import create_engine
import os
os.chdir('../')
engine = create_engine('sqlite:///data/chinook.db')
#连接数据库
tracks = pd.read_sql_table('tracks', engine)
tracks.head()

一对一合并:

tracks_subset数据表:

在这里插入图片描述

genres数据表:
在这里插入图片描述

merge()方法合并:

参数1为merge合并的数据表
on参数: 以xx字段来进行合并,通常为关联主键
how参数:

  • left只保留左侧表中的所有key
  • right只保留右侧表中的所有key
  • inner只保留两个表中共有的key
  • outer保留左右两侧表中所有的key`
# 选出GenreId不相同的数据,确定一对一关系
tracks_subset = tracks.loc[[0,62,76,98,110,193,204,281,322,359],]
genres.merge(tracks_subset[['TrackId','GenreId','Milliseconds']],on='GenreId',how='left')

多对一合并

这次合并的是没有进行裁剪的tracks表,多对一关系

genres.merge(tracks[['TrackId','GenreId','Milliseconds']],on='GenreId',how='left')

多对一关系合并,多的那一张表会出现重复值
在这里插入图片描述

join合并

数据表:

在这里插入图片描述
左侧表.join()方法合并,参数1为连接的右侧表,lsuffix为左侧表指定的别名,rsuffix为右侧,how参数决定保留哪些key详细看上面merge()方法

# 读取数据
stocks_2016 = pd.read_csv('data/stocks_2016.csv')
stocks_2017 = pd.read_csv('data/stocks_2017.csv')
stocks_2018 = pd.read_csv('data/stocks_2018.csv')
# 合并
stocks_2016.join(stocks_2017, lsuffix='_2016', rsuffix='_2017', how='outer')

在这里插入图片描述

concat、join和merge的区别

方法特点
concat1. pandas函数
2. 可以垂直和水平的连接两个或多个pandas对象
3. 只用索引对齐
4. 默认是外连接(也可以内连接
join1. DataFrame方法
2. 只能水平连接两个或多个pandas对象
3. 对齐是依据被调用的DataFrame的列索引或行索引和另一个对象的行索引(不能为列索引
4. 默认左连接(可以调整how参数为右、内、外连接
merge1. DataFrame方法
2. 只能水平连接两个DataFrame对象
3. 同join的
4. 同join的

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

相关文章

【pandas 基本操作:数据合并】

pandas基本操作 第一章 数据清洗 第二章 数据合并 第三章 数据重塑 第四章 数据转换 文章目录 pandas基本操作前言1. 轴向堆叠数据2. 主键合并数据3. 根据行索引合并数据4. 合并重叠数据 前言 数据清洗是一项复杂且繁琐的工作,同时也是整个数据分析过程中最为重要…

图解pandas的数据合并merge

公众号:尤而小屋作者:Peter编辑:Peter 大家好,我是Peter~ 在实际的业务需求中,我们的数据可能存在于不同的库表中。很多情况下,我们需要进行多表的连接查询来实现数据的提取,通过SQL的join&…

数据分析--数据合并

数据合并 在日常的数据处理中,经常需要将两张表拼接起来使用,在SQL中对应的操作是join,在Pandas中则是merge函数实现。 merge函数的作用是用来拼接两张表,那么拼接时自然就需要将用户信息--对应地进行拼接,所以进行拼…

数据的合并和拼接

文章目录 Merge方法1.1 内连接(交集)1.2 外连接(并集)1.3 左连接1.4 右连接1.5 基于多列的连接算法1.6 基于index的连接方法 2. join方法3. concat方法3.1 series类型的拼接方法3.2 dataframe类型的拼接方法 merge方法主要是基于两…

STATA数据合并与追加(一)Merge

文章目录 Why Merge?一、Description 简要描述二、Syntax 命令语法1.语法示例2.Options 参数选项Merge命令的options 参数表参数具体说明 3.Remarks and examples 具例说明3.1 Overview 概述部分(1)Merge 1:1 varlist......指定一对一匹配合并(2)Merge 1:m 和 Merge…

5.1 合并数据

5.1 合并数据 5.1.1 堆叠合并数据1、横向堆叠 concat()2、纵向堆叠 concat()和append() 5.1.2 主键合并数据 merge()和join()5.1.3 重叠合并数据 combine_first() 5.1.1 堆叠合并数据 堆叠就是简单地把两个表拼在一起,也被称作轴向连接、绑定或连接。依照连接轴的方…

极速系列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函数可以在两个维度上对数据进行拼接,默认纵向…