千家信息网

Python数据合并的concat函数与merge函数怎么用

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要介绍了Python数据合并的concat函数与merge函数怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python数据合并的concat函数与mer
千家信息网最后更新 2025年11月07日Python数据合并的concat函数与merge函数怎么用

这篇文章主要介绍了Python数据合并的concat函数与merge函数怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python数据合并的concat函数与merge函数怎么用文章都会有所收获,下面我们一起来看看吧。

一、concat函数

1.concat()函数可以沿着一条轴将多个对象进行堆叠,其使用方式类似数据库中的数据表合并
pandas.concat(objs, axis=0, join=’outer’, join_axes=None, ignore_index=False, keys=None, levels=None, verify_integrity=False, sort=None, copy=True)

2.参数含义如下:

参数作用
axis表示连接的轴向,可以为0或者1,默认为0
join表示连接的方式,inner表示内连接,outer表示外连接,默认使用外连接
ignore_index接收布尔值,默认为False。如果设置为True,则表示清除现有索引并重置索引值
keys接收序列,表示添加最外层索引
levels用于构建MultiIndex的特定级别(唯一值)
names设置了keys和level参数后,用于创建分层级别的名称
verify_integerity检查新的连接轴是否包含重复项。接收布尔值,当设置为True时,如果有重复的轴将会抛出错误,默认为False

3.根据轴方向的不同,可以将堆叠分成横向堆叠与纵向堆叠,默认采用的是纵向堆叠方式

4.在堆叠数据时,默认采用的是外连接(join参数设为outer)的方式进行合并,当然也可以通过join=inner设置为内连接的方式。

1)横向堆叠与外连接

import pandas as pddf1=pd.DataFrame({'A':['A0','A1','A2'],                  'B':['B0','B1','B2']})df1

横向堆叠合并df1和df2,采用外连接的方式

pd.concat([df1,df2],join='outer',axis=1)

2) 纵向堆叠与内链接

import pandas as pdfirst=pd.DataFrame({'A':['A0','A1','A2'],                   'B':['B0','B1','B2'],                   'C':['C0','C1','C2']})first

second=pd.DataFrame({'B':['B3','B4','B5'],                   'C':['C3','C4','C5'],                    'D':['D3','D4','D5']})second

3.当使用concat()函数合并时,若是将axis参数的值设为0,且join参数的值设为inner,则代表着使用纵向堆叠与内连接的方式进行合并

pd.concat([first,second],join='inner',axis=0)

二、merge()函数

1)主键合并数据

在使用merge()函数进行合并时,默认会使用重叠的列索引做为合并键,并采用内连接方式合并数据,即取行索引重叠的部分。

import pandas as pdleft=pd.DataFrame({'key':['K0','K1','K2'],                  'A':['A0','A1','A2'],                  'B':['B0','B1','B2']})left

right=pd.DataFrame({'key':['K0','K1','K2','K3'],                   'C':['C0','C1','C2','C3'],                   'D':['D0','D1','D2','D3']})right

pd.merge(left,right,on='key')

2)merge()函数还支持对含有多个重叠列的DataFrame对象进行合并。

import pandas as pddata1=pd.DataFrame({'key':['K0','K1','K2'],                  'A':['A0','A1','A2'],                  'B':['B0','B1','B2']})data1

data2=pd.DataFrame({'key':['K0','K5','K2','K4'],                         'B':['B0','B1','B2','B5'],                         'C':['C0','C1','C2','C3'],                         'D':['D0','D1','D2','D3']})data2

pd.merge(data1,data2,on=['key','B'])

1)根据行索引合并数据

join()方法能够通过索引或指定列来连接多个DataFrame对象

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

参数作用
on名称,用于连接列名
how可以从{‘‘left’’ ,‘‘right’’, ‘‘outer’’, ‘‘inner’’}中任选一个,默认使用左连接的方式。
sort根据连接键对合并的数据进行排序,默认为False
import pandas as pddata3=pd.DataFrame({'A':['A0','A1','A2'],                   'B':['B0','B1','B2']})data3

data4=pd.DataFrame({'C': ['C0', 'C1', 'C2'],                         'D': ['D0', 'D1', 'D2']},                     index=['a','b','c'])data3.join(data4,how='outer')  # 外连接

data3.join(data4,how='left')  #左连接

data3.join(data4,how='right')  #右连接

data3.join(data4,how='inner')  #内连接

import pandas as pdleft = pd.DataFrame({'A': ['A0', 'A1', 'A2'],                        'B': ['B0', 'B1', 'B2'],                      'key': ['K0', 'K1', 'K2']})left

right = pd.DataFrame({'C': ['C0', 'C1','C2'],                         'D': ['D0', 'D1','D2']},                        index=['K0', 'K1','K2'])right

on参数指定连接的列名

left.join(right,how='left',on='key')  #on参数指定连接的列名

2)合并重叠数据

当DataFrame对象中出现了缺失数据,而我们希望使用其他DataFrame对象中的数据填充缺失数据,则可以通过combine_first()方法为缺失数据填充。

import pandas as pdimport numpy as npfrom numpy import NANleft = pd.DataFrame({'A': [np.nan, 'A1', 'A2', 'A3'],                        'B': [np.nan, 'B1', np.nan, 'B3'],                        'key': ['K0', 'K1', 'K2', 'K3']})left

right = pd.DataFrame({'A': ['C0', 'C1','C2'],                         'B': ['D0', 'D1','D2']},                         index=[1,0,2])right

用right的数据填充left缺失的部分

left.combine_first(right) # 用right的数据填充left缺失的部分

关于"Python数据合并的concat函数与merge函数怎么用"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Python数据合并的concat函数与merge函数怎么用"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

数据 函数 参数 方式 索引 对象 缺失 纵向 多个 横向 知识 部分 作用 内容 可以通过 名称 布尔 方法 篇文章 不同 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 淮南oa管理软件开发哪家好 我的世界好玩服务器编码中国版 韶关软件开发咨询 游戏服务器需要备案么 北京小早网络技术有限公司 路网络视频服务器 学习网络安全教程视频 网络安全社会学 派拓网络安全会议 我的世界龙珠服务器怎么切换气功 福建平联网络技术有限公司 恢复数据库备份文件 网络安全的专门法律法规 cisco220服务器u引导 博雅数据库高校分数线 程序员请求数据库的方法 网络安全抽查评估活动总结 静安区管理网络技术供应 web数据库的访问方式 郓城软件开发教学平台哪里好 宜宾软件开发市场价 调查问卷设计数据库 服务器网络迁移方案 手游我的世界玩家怎么开服务器 京海互联网科技发展有限公司背景 比较好的软件开发公司知聚顶科技 5g网络安全的成长空间 冠状病毒基因组数据库 金华节河网络技术有限公司 数据库不直接连接web
0