pandas的merge函数多键值合并问题

a = pd.DataFrame({'姓名':['张三','李四','王五'], 'ID':['12','23','45'],'地址':['金井','白沙','福临'], '专业':['药学','无机','物理']})
b = pd.DataFrame({'姓名':['张三','李四','李四','赵六'], 'ID':['12','15','23','78'],'学校':['六中','七中','八中','八中'], '工作':['药师','老师','法师','法师']})

以上的例子,姓名或者ID这两列,只要其中一列相等即可合并

比如姓名列是一样的,或者ID列是一样的,即合并为一个表

如何用最短的代码,最好一行,实现这个结果

希望合并得到的结果长什么样?

这样是你想要的结果不?

 pd.merge(a, b, on=['姓名', 'ID'], how='outer')  

 

另外,展示一下其他几种合并方式,看看你需要哪种方式,就用哪种方式。