【问题标题】:Concatenate by mirroring same valuecolumns of different dataframes通过镜像不同数据帧的相同值列进行连接
【发布时间】:2021-12-12 12:30:24
【问题描述】:

我只想通过连接并镜像两个不同数据帧(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)

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

【问题讨论】:

  • format_brute1format_brute2 是从哪里来的?我在您的数据框中看不到它们
  • 对不起,我改了名字。我尝试使用正确的数据框名称 format_1 和 format_2。我已经修改了谢谢

标签: python pandas dataframe concatenation mirroring


【解决方案1】:

在您的pd.merge 调用中传递left_on = "format_1"right_on = "format_2" 而不是on 参数

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

【讨论】:

  • 非常感谢!我发现我的一个数据集也不是很好的数据集。多亏了你,现在它工作得很好
猜你喜欢
  • 1970-01-01
  • 2011-09-18
  • 1970-01-01
  • 2021-08-24
  • 2020-03-31
  • 2020-12-08
  • 2020-02-21
  • 1970-01-01
  • 2017-04-06
相关资源
最近更新 更多