使用 pd.merge 复制 pd.concat

bax*_*axx 2 python merge join pandas

是否可以使用以下方法复制以下内容 pd.merge

a = pd.DataFrame(dict(x=[1,2], y=[5,5]))
b = pd.DataFrame(dict(x=[7,7], y=[12,13]))
pd.concat([a,b],axis=1)
Run Code Online (Sandbox Code Playgroud)

哪个输出

   x  y  x   y
0  1  5  7  12
1  2  5  7  13

Run Code Online (Sandbox Code Playgroud)

因为这将使我能够为列名添加后缀。

我希望以下内容起作用:

pd.merge(a, b, how = 'outer',)
Run Code Online (Sandbox Code Playgroud)

但这会返回:

   x   y
0  1   5
1  2   5
2  7  12
3  7  13

Run Code Online (Sandbox Code Playgroud)

我希望输出是:

   x_l  y_l  x_r   y_r
0  1    5    7    12  
1  2    5    7    13  
Run Code Online (Sandbox Code Playgroud)

ank*_*_91 5

您也可以使用df.join

a.join(b,lsuffix='_l',rsuffix='_r')
Run Code Online (Sandbox Code Playgroud)
   x_l  y_l  x_r  y_r
0    1    5    7   12
1    2    5    7   13
Run Code Online (Sandbox Code Playgroud)