文章目录

  • 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的拼接操作相关推荐

  1. 爬虫 数据分析 处理丢失数据 pandas的拼接操作

    处理丢失的数据 处理丢失的数据 两种丢失的数据Nonenp.nan(NaN)None是Python自带的,其类型为python object.因此,None不能参与到任何计算中.np.nan是浮点类型 ...

  2. pandas(四)pandas的拼接操作

    Logout 4-pandas_combine Last Checkpoint: 06/14/2018 (unsaved changes) Python 3 Not Trusted File Edit ...

  3. 数据分析与AI(五)pandas的数据拼接操作/美国各州人口分析/苹果历年股票曲线图

    pandas的拼接操作 pandas的拼接分为两种: - 级联: pd.concat, pd.append - 合并: pd.merge, pd.join 0. 回顾numpy的级联 import n ...

  4. Pandas简明教程:五、Pandas简单统计操作及通用方式

    文章目录 1.DataFrame的方法使用举例 2.DataFrame的方法调用通用方式 3.DataFrame直接调用其它方法 本系列教程教程完整目录: 前面已经提到,Pandas的DataFram ...

  5. Pandas知识点-添加操作append

    Pandas知识点-添加操作append 在Pandas中,append()方法用于将一个或多个DataFrame或Series添加到DataFrame中.append()方法也可以用于合并操作,本文 ...

  6. Pandas知识点-合并操作merge

    Pandas知识点-合并操作merge merge()方法是Pandas中的合并操作,在数据处理过程中很常用,本文介绍merge()方法的具体用法. 一.基础合并操作 merge(left, righ ...

  7. Pandas知识点-连接操作concat

    Pandas知识点-连接操作concat Pandas提供了多种将Series.DataFrame对象合并的功能,有concat(), merge(), append(), join()等.这些方法都 ...

  8. 数据分析工具Pandas(2):Pandas的索引操作

    数据分析工具Pandas(1):Pandas的数据结构 数据分析工具Pandas(2):Pandas的索引操作 Pandas的索引操作 索引对象Index 1. Series和DataFrame中的索 ...

  9. 【Python基础】Pandas向量化字符串操作

    一.向量化操作概述 Python内置一系列强大的字符串处理方法,但这些方法只能处理单个字符串,处理一个序列的字符串时,需要用到循环. 那么,有没有办法,不用循环就能同时处理多个字符串呢,pandas的 ...

  10. 玩转 Pandas 的 Groupby 操作

    作者:Lemon 来源:Python数据之道 玩转 Pandas 的 Groupby 操作 大家好,我是 Lemon,今天来跟大家分享下 pandas 中 groupby 的用法. Pandas 的 ...

最新文章

  1. 黄聪:C#用正则表达式获得指定开始和结束字符串中间的一段文本
  2. unity工程包怎么上传git_如何将Git用于Unity3D源代码管理?
  3. MATLAB实战系列(九)-遗传算法(GA)求解旅行商问题(TSP)思路解析
  4. P1031 均分纸牌(经典贪心)
  5. mutt+msmtp+gmail
  6. 舞蹈链(DLX)模板
  7. 程序员面试金典 - 面试题 02.03. 删除中间节点
  8. php表单中姓名必须使用汉字,我想在表单验证中加入中文姓名合法性模糊匹配判断?...
  9. 三元运算符(TernaryOperator)
  10. 下面属于javascript内部对象的有_JavaScript从零开始——面向对象编程(2)
  11. C#网络编程示例(note)
  12. 在Ruby on Rails中对nil v。空v。空白的简要解释
  13. CSS的概念及优势(简单介绍)
  14. php嗅探链接,教你如何利用php来嗅探劫持服务器数据
  15. 阿里云服务器centos7上手安装-4 防火墙篇
  16. 雷霆战机游戏项目(JAVA)
  17. 双手指代脑区,读文献参考,大脑分区记不住怎么办
  18. 计算机科学有科研,计算机科学领域科研合著网演化分析
  19. 质量检验中那些不为人所知的事儿
  20. windows 重新启动 postgresq

热门文章

  1. ASP.NET 事件(回传)机制
  2. python_机器学习(一)、基本概念
  3. GitLab community edition
  4. Java框架之Hibernate(二)
  5. 彻底搞定char/wchar_t/unicode
  6. 内容分发网络CDN(互联网技术)
  7. Oracle数据库存储过程 ,去除给定字符串中重复的字符串
  8. 线上不修改mysql的存储引擎对emoji标签做删除处理(PHP)
  9. HTTP协议和HTTPS协议
  10. c#类的多态和文件流复习