merge有点类似SQL中的join,可以将不同数据集按照某些字段进行合并,得到新的数据集
1.参数一览表:
2.一对一连接:默认情况下,会按照相同字段的进行连接
例如有相同字段emp的两个df,merge的时候就会根据emp进行连接,且根据参数知道,默认是内连接:
使用默认的不是很明了,通常情况下,我们推荐使用on明确连接条件,这和SQL里写ON是类似的:
3.多对一合并
4.多对多连接(交叉连接)
5.key的规范化
也就是上面介绍的,通过on来指定连接的key,明了且规范
并且,合并的时候,如果有两个相同的列,但是on只指定了一列,另外一列相同时则会通过_x,_y等进行区分
可以通过参数suffix进行控制:
6.通过left_on、right_on指定左右两边的列作为key,这样,当两边列名都不相等时使用
这样即使两边不相等,也能连接了
7.内合并和外合并
内合并就是保留两边都有的key,这点和SQL内连接的道理是一样的,这是默认的方式,也就是how参数的默认值,不再赘述
外合并就是类似SQL的外连接了,对于没有连接上的数据,自动补全为NaN:这也就是SQL的全外连接
其他的left、right同理:
8.列冲突解决
也就是前面说的通过on控制列,加suffix来控制,默认值为_x,_y: