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:是否忽略之前的排序,重新排序
- 举例: