python中merge函数

merge函数用来合并
下面我们看看长什么样子

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)

left,right就是要连接的两个dataframe。
how就是连接的方法
inner:内连接,即主标签相同的就留下

>>> a=pd.DataFrame({'key':['a','b','c'],'val1':range(3)})
>>> b=pd.DataFrame({'key':['a','d','a'],'val1':range(3)})
a
  key  val1
0   a     0
1   b     1
2   c     2
 b
  key  val1
0   a     0
1   d     1
2   a     2

 pd.merge(a,b)
key  val1  val2
0   a     0     0
1   a     0     2

全连接:即把a,b集放在一起,没有的就是NaN

pd.merge(a,b,how='outer')         
  key  val1  val2
0   a     0   0.0
1   a     0   2.0
2   b     1   NaN
3   c     2   NaN            

左连接,左边取全部,右边取部分

pd.merge(a,b,how='left')
  key  val1  val2
0   a     0   0.0
1   a     0   2.0
2   b     1   NaN
3   c     2   NaN

右连接,右边取全部,左边取部分

pd.merge(a,b,how='right')
  key  val1  val2
0   a   0.0     0
1   a   0.0     2
2   d   NaN     1

left_on,和right_on主要就是键名不同的话,就指定连接的键名,我就不细说了.可以看看这个博客https://blog.csdn.net/qq_21840201/article/details/80727504

on的话就是主键:比如两个相同标签你指定一个作为主键,详细的话可以看看这个
https://blog.csdn.net/casey_cai/article/details/56834649

猜你喜欢

转载自blog.csdn.net/starmoth/article/details/84260076