利用Pandas的merge函数横向合并数据

在Python中可以利用Pandas的merge函数来实现Excel中类似vlookup函数的匹配功能。官方文档地址:Pandas库merge函数文档

练习文档下载:百度网盘下载      提取码:arvb

merge函数主要实现横向拼接,可进行一对一、一对多、多对多的拼接。如果事先没有指定按哪个列进行拼接时,merge函数会默认用两张表的公共列做为连接键进行连接。当两个表没有公共列时,我们可以用参数left_on和right_on分别指定左表和右表作为连接键的列名。

merge函数的how参数提供了四种匹配模式,内连接inner(默认)、外连接(outer)、左连接(left)、右连接(right)

  • 内连接就是取两个表的交集。
  • 外连接就是取两个表的并集。
  • 左连接就是以左表为基础,类似Excel中在左表对右表使用vlookup查找匹配。
  • 右连接就是以右表为基础,类似Excel中在右表对左表使用vlookup查找匹配。




类似于SQL中的查询,在利用Python的merge函数时也要注意笛卡儿积导致数据虚增,例如下列中材料进货表中的定额名称出现了4次镀管,而单价表中的定额名称出现了2次镀管,进行merge函数后,结果表的出现镀管的记录条数为8条。