通过镜像不同数据帧的相同值列来连接

Concatenate by mirroring same valuecolumns of different dataframes

我只想通过连接和镜像两个不同数据帧(df1 和 df2)的相同列值来制作一个数据帧 (df3)。这只是一个例子,我的数据集更大了。

> df1
  id_synthese1 format_1 ville
0             .dat       tours                      
1             .map       bordeaux
2             .sig       marseille                       

> df2
  id_synthese2 format_2  etude
0             .map       environnement                      
1             .sig       geotec
2             .dat       sismique

我想要这样的输出

> df3
  id_synthese1 format_1 ville       id_synthese2      format_2     etude    
0             .dat       tours                  2     .dat         sismique
1             .map       bordeaux               0     .map         environnement
2             .sig       marseille              1     .sig         geotec

“镜像”在列之间:format_1 和 format_2

我试过了

df3= pd.merge(df1, df2, on=['format_1','format_2'], how='outer')

df3= df1.join(
    df2.set_index(['format_1','format_2']),
    lsuffix="_x",
    rsuffix="_y",
    on=['format_1','format_2'])

df3= pd.concat([df1, df2], axis=1)

谢谢(我知道这很简单...我是初学者)

pd.merge 调用

中传递 left_on = "format_1"right_on = "format_2" 而不是 on 参数

https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.merge.html