pandas的拼接操作
文章目录
- 1. pandas.concat()函数
- 2. pandas.merge()函数
- 3. pandas.join()函数
- 4. pandas.append()函数
- 5. 四个函数的区别
- 6. 参考
在数据处理过程中会遇到多个数据集之间进行拼接的操作,一般针对的是DataFrame类型的数据进行拼接操作。
1. pandas.concat()函数
代码展示
pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,keys=None, levels=None, names=None, verify_integrity=False,copy=True)
参数解释
axis:拼接轴方向,默认为0,沿行拼接;若为1,沿列拼接
join:默认外联’outer’,拼接另一轴所有的label,缺失值用NaN填充;内联’inner’,只拼接另一轴相同的label
join_axes: 指定需要拼接的轴的labels,可在join既不内联又不外联的时候使用
ignore_index:默认为False,ignore_index = True表示对index进行重新排序
keys:多重索引
举例
#表示按行拼接,外连接,重置索引
pd.concat([df1,df2],ignore_index=True)#表示按列拼接,指定只取df1的index的数据
pd.concat([df1,df2], axis=1, join_axes=[df1.index])
2. pandas.merge()函数
代码展示
df.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,ndicator=False,validate=None)
参数解释
how:{'left’, ‘right’, ‘outer’, ‘inner’}, 默认‘inner’,类似于SQL的内联。'left’类似于SQL的左联;'right’类似于SQL的右联;‘outer’类似于SQL的全联
on:进行合并的参照列名,必须一样。若为None,方法会自动匹配两张表中相同的列名
left_on: 左边df进行连接的列
right_on: 右边df进行连接的列
suffixes: 左、右列名称前缀
validate:默认None,可定义为“one_to_one” 、“one_to_many” 、“many_to_one”和“many_to_many”,即验证是否一对一、一对多、多对一或多对多关系
举例
#按列key进行outer操作
pd.merge(left, right, on='key',how='outer')#键名不同时的连接
pd.merge(left,right,left_on='A',right_on='B')
3. pandas.join()函数
代码展示
df.join(other, on=None, how='left', lsuffix='', rsuffix='', sort=False)
参数解释
on:参照的左边df列名key(可能需要先进行set_index操作),若未指明,按照index进行join
how:{‘left’, ‘right’, ‘outer’, ‘inner’}, 默认‘left’,即按照左边df的index(若声明了on,则按照对应的列);若为‘right’abs照左边的df,若‘inner’为内联方式;若为‘outer’为全连联方式。
sort:是否按照join的key对应的值大小进行排序,默认False
lsuffix,rsuffix:当left和right两个df的列名出现冲突时候,通过设定后缀的方式避免错误
举例
# 以索引,并集
left.join(right,how='outer') # 以索引,交集
left.join(right,how='inner')# 通过添加后缀避免冲突
df3.join(df4 , lsuffix='_df3', rsuffix='_df4')
4. pandas.append()函数
代码展示
#行方向的拼接操作
df1.append(df2, ignore_index=False, verify_integrity=False)
参数解释
ignore_index:若为True,则对index进行重排
verify_integrity:对index的唯一性进行验证,若有重复,报错。若已经设置ignore_index,则该参数无效
举例
#index重排,效果类似于pd.concat([df1, df2], ignore_index=True)
df1.append(df2,ignore_index=True)
5. 四个函数的区别
- concat与append是属于拼接操作,append是concat简略形式,只能在axis=0上进行合并
- merge与join属于关联操作,类似于sql中的join操作
- merge可以实现列与索引上关联操作,join只能索引上关联操作
- 关联操作基本上用merge就可以了
函数 | 默认连接方式 | 调用方法 | 备注 |
---|---|---|---|
.concat() | axis为0, join=‘outer’,行拼接,取并集 | res = pd.concat( [df1,df2], axis=0 ) | axis设置行/列拼接的方向 |
.merge() | 列拼接,取交集 | result=pd.merge(df1, df2,how=‘left’) | 只能按列拼接 |
.join() | how=’left’ ,左列拼接 | df1.join(df2) | 只能按列拼接 |
.append() | 按行拼接 | df1.append(df2) | 只能按行拼接 |
6. 参考
https://blog.csdn.net/weixin_42782150/article/details/89546357
https://blog.csdn.net/qq_27575895/article/details/88789147
https://blog.csdn.net/gdkyxy2013/article/details/80785361
https://blog.csdn.net/ai_1046067944/article/details/86481276
https://blog.csdn.net/guofei_fly/article/details/85455813
pandas的拼接操作相关推荐
- 爬虫 数据分析 处理丢失数据 pandas的拼接操作
处理丢失的数据 处理丢失的数据 两种丢失的数据Nonenp.nan(NaN)None是Python自带的,其类型为python object.因此,None不能参与到任何计算中.np.nan是浮点类型 ...
- pandas(四)pandas的拼接操作
Logout 4-pandas_combine Last Checkpoint: 06/14/2018 (unsaved changes) Python 3 Not Trusted File Edit ...
- 数据分析与AI(五)pandas的数据拼接操作/美国各州人口分析/苹果历年股票曲线图
pandas的拼接操作 pandas的拼接分为两种: - 级联: pd.concat, pd.append - 合并: pd.merge, pd.join 0. 回顾numpy的级联 import n ...
- Pandas简明教程:五、Pandas简单统计操作及通用方式
文章目录 1.DataFrame的方法使用举例 2.DataFrame的方法调用通用方式 3.DataFrame直接调用其它方法 本系列教程教程完整目录: 前面已经提到,Pandas的DataFram ...
- Pandas知识点-添加操作append
Pandas知识点-添加操作append 在Pandas中,append()方法用于将一个或多个DataFrame或Series添加到DataFrame中.append()方法也可以用于合并操作,本文 ...
- Pandas知识点-合并操作merge
Pandas知识点-合并操作merge merge()方法是Pandas中的合并操作,在数据处理过程中很常用,本文介绍merge()方法的具体用法. 一.基础合并操作 merge(left, righ ...
- Pandas知识点-连接操作concat
Pandas知识点-连接操作concat Pandas提供了多种将Series.DataFrame对象合并的功能,有concat(), merge(), append(), join()等.这些方法都 ...
- 数据分析工具Pandas(2):Pandas的索引操作
数据分析工具Pandas(1):Pandas的数据结构 数据分析工具Pandas(2):Pandas的索引操作 Pandas的索引操作 索引对象Index 1. Series和DataFrame中的索 ...
- 【Python基础】Pandas向量化字符串操作
一.向量化操作概述 Python内置一系列强大的字符串处理方法,但这些方法只能处理单个字符串,处理一个序列的字符串时,需要用到循环. 那么,有没有办法,不用循环就能同时处理多个字符串呢,pandas的 ...
- 玩转 Pandas 的 Groupby 操作
作者:Lemon 来源:Python数据之道 玩转 Pandas 的 Groupby 操作 大家好,我是 Lemon,今天来跟大家分享下 pandas 中 groupby 的用法. Pandas 的 ...
最新文章
- 黄聪:C#用正则表达式获得指定开始和结束字符串中间的一段文本
- unity工程包怎么上传git_如何将Git用于Unity3D源代码管理?
- MATLAB实战系列(九)-遗传算法(GA)求解旅行商问题(TSP)思路解析
- P1031 均分纸牌(经典贪心)
- mutt+msmtp+gmail
- 舞蹈链(DLX)模板
- 程序员面试金典 - 面试题 02.03. 删除中间节点
- php表单中姓名必须使用汉字,我想在表单验证中加入中文姓名合法性模糊匹配判断?...
- 三元运算符(TernaryOperator)
- 下面属于javascript内部对象的有_JavaScript从零开始——面向对象编程(2)
- C#网络编程示例(note)
- 在Ruby on Rails中对nil v。空v。空白的简要解释
- CSS的概念及优势(简单介绍)
- php嗅探链接,教你如何利用php来嗅探劫持服务器数据
- 阿里云服务器centos7上手安装-4 防火墙篇
- 雷霆战机游戏项目(JAVA)
- 双手指代脑区,读文献参考,大脑分区记不住怎么办
- 计算机科学有科研,计算机科学领域科研合著网演化分析
- 质量检验中那些不为人所知的事儿
- windows 重新启动 postgresq