数据分析12——Pandas中数据合并方法

0、前言:

  • 在pandas中进行数据合并的操作和数据库中的join操作非常类似。

1、merge横向合并:

  • 前言:该函数只能做横向合并
  • 函数名:merge()
  • 函数参数:
    • left: 数据类型为’DataFrame | Series’,需要进行合并的左侧数据框
    • right: 数据类型为 ‘DataFrame | Series’,需要进行合并的右侧数据框
    • how: 需要执行的合并方式(下面所说的数据框,可以理解为数据表,只解释函数使用时必须传递的参数)
      • ‘inner’:内连接,只保留左右数据框中都存在的行(类似于交集)
      • ‘outer’:外连接,保留左右数据框中所有的行,缺失部分填充NaN(类似于并集)
      • ‘left’:左连接,以左侧数据框为基准,左侧数据都会出现,右侧如果没有和左侧对应的,就填充NaN
      • ‘right’:右连接,以右侧数据框为基准,右侧数据都会出现,左侧如果没有和左侧对应的,就填充NaN
      • ‘cross’:交叉连接,如表一有三个列字段,表二有四个列字段,连接之后就是十二个列字段
    • on: 左右数据框中可以对应连接的列名,必须同时出现在左右两个数据框中(用于两边连接列名一致的情况)
    • left_on: 指定左边数据框中要连接的列名(用于两边连接列名不一致的情况)
    • right_on: 指定右边数据框中要连接的列名(用于两边连接列名不一致的情况)
    • left_index: ‘bool’ = False,
    • right_index: ‘bool’ = False,
    • sort: ‘bool’ = False,
    • suffixes: ‘Suffixes’ = (‘_x’, ‘_y’),
    • copy: ‘bool’ = True,
    • indicator: ‘bool’ = False,
    • validate: ‘str | None’ = None,
  • 举例:
    在这里插入图片描述

2、join横向合并:

  • 前言:join在使用之前要将关联字段设置为行索引,具体见实例
  • 函数名:表1.join()
  • 函数参数:
    • other: 数据类型为’DataFrame | Series’,表示要合并的数据框
    • how: 表示要执行的操作
      • left:左连接
      • right:右连接
      • outer:外连接
      • inner:内连接
  • 举例:
    在这里插入图片描述

3、concat横向合并和纵向合并:

横向连接:

  • 前言:join在使用之前要将关联字段设置为行索引,具体见实例
  • 函数名:表1.concat()
  • 函数参数:
    • objs: 要执行连接的数据框,通过列表的形式传入
    • axis: 要执行的连接类型,等于0为纵向合并,等于1为横向合并
    • join: 要执行的合并方式,只有两种
      • outer:外连接
      • inner:内连接
  • 举例:
    在这里插入图片描述

纵向连接:

  • 前言:join在使用之前要将关联字段设置为行索引,具体见实例
  • 函数名:表1.concat()
  • 函数参数:
    • objs:要执行连接的数据框,通过列表的形式传入
    • axis:要执行的连接类型,等于0为纵向合并,等于1为横向合并
    • ignore_inde:是否忽略之前的排序,重新排序
  • 举例:
    在这里插入图片描述

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值