在合并数据的操作中,除了pd.concat()函数,另一个常用的函数就是pd.merge()了,这两个函数也经常被拿来比较,其实只要弄懂了函数中重要参数的作用理解了每个函数的用法,自然就知道在哪种情况下使用哪一个函数,需要对函数中的哪个参数进行怎样的设置了。好了,让我们步入正题来认识一下pd.merge()函数吧!
pd.merge()函数介绍
在函数的官方文档里就有写到pd.merge()的作用是用数据库样式的连接合并DataFrame或者已命名的Series。现在我们一起看一下这个函数的庐山真面目吧:
pd.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, indicator=False, validate=None,)
以上是pd.merge()函数的所有参数,下边我们通过例子对常用参数进行讲解。
参数left和right
和pd.concat()不同,pd.merge()只能用于两个表的拼接,而且通过参数名称也能看出连接方向是左右拼接,一个左表一个右表,而且参数中没有指定拼接轴的参数,所以pd.merge()不能用于表的上下拼接。
如果需要拼接的两个表中,有相同的列信息,那么进行拼接的时候即使不指定以哪个字段作为主键函数也会默认用信息相同的列做主键对两个表进行拼接,如下例:
假设这是来自人力部门对员工信息的统计表: