【问题标题】:Merge dataframes with conditions with pandas python [duplicate]使用pandas python合并具有条件的数据框[重复]
【发布时间】:2021-12-23 16:49:09
【问题描述】:

我想合并两个数据框,但在某些条件下:

如果数据框 2 (Source1,Target1,Source2,Target2) 中的列的值出现在数据框 1 中,那么我想用数据框 2 中的数据替换它们,但将它们与数据框 2 中的所有列合并数据框 1 中的列。 我目前的问题是,当我进行连接时,来自 DF2 的数据仅与来自 DF1 的数据合并,并且我的数据无效。

简而言之:将 DF1 与 DF2 匹配,如果有交集,则覆盖 DF1 中的交集,但将 DF2 中的所有列与 DF1 中的列合并。

感谢您的帮助

DF1

DF2

我得到了什么

我需要什么

frames = [DF1,DF2]
result = pd.concat(frames)
print(result)

【问题讨论】:

    标签: python pandas dataframe merge


    【解决方案1】:

    使用merge:

    out = pd.merge(DF1, DF2, how='left',
                   on=['Source 1', 'Target 1', 'Source 2', 'Target 2'])
    

    花点时间阅读Pandas Merging 101

    【讨论】:

      猜你喜欢
      • 2020-07-07
      • 2020-03-28
      • 2021-07-21
      • 2019-01-21
      • 2018-11-01
      • 2017-01-06
      • 1970-01-01
      • 2020-04-10
      • 2018-05-01
      相关资源
      最近更新 更多