先看下图,快速理解含义。
注意!
以上的结果 是两边都没有重复ID的合并结果,如果有重复,记录会翻倍增加
python pandas 实现
t1 = pd.merge(t3,t4,on=['key','key2'],how='inner')
t1 = pd.merge(t3,t4,on=['key','key2'],how='left')
t1 = pd.merge(t3,t4,on=['key','key2'],how='right')
t1 = pd.merge(t3,t4,on=['key','key2'],how='outer')
inner:在on的列上两方均有的数据,即交集
left:左侧作为被匹配对象,右侧的数据匹配左侧的数据,没有的则为空。未匹配到,则为空
right:右侧作为被匹配对象,左侧的数据匹配右侧的数据,没有的则为空。未匹配到,则为空
outer:并集,所有的元素都有
(其中的on为对应在那几列上进行的操作)
总结:merge的处理方式类似与数据库表的连接方式。