【问题标题】:Python Merging Dataframes using multiple ColumnsPython使用多列合并数据框
【发布时间】:2020-09-19 12:28:33
【问题描述】:

我有 2 个数据框需要合并相交的多列。我没有得到我需要的结果,因为结果数据框的日期不匹配。

我想将一对列 Date & Segment 从 dataframe1 合并到 (tmcN & date) | (tmcP & date) 来自 dataframe2 作为公共列。具体来说,列 Segment 将匹配 tmcN 或 tmcP,同时 Date 列将匹配到日期。我尝试了几种不同的方法,但无法正确配置。

我的代码:

left2 = Speed.rename({'key':'Segment'}, axis=1)
right2 = Incident.rename({'key':'tmcN'}, axis=1)

Test = left2.merge(right2, left_on='Segment', right_on='tmcN', how='outer')

这只会将 Segment 与 tmcN 匹配,当我尝试将 Segment 与 tmcP 双重合并时,我的笔记本电脑会崩溃。感谢您的帮助。

【问题讨论】:

    标签: python pandas merge


    【解决方案1】:

    你可以试试这个(假设df1 是第一个数据帧,df2 是第二个数据帧)

    1. 使用第二个数据帧的tmcN

      df = pd.merge(df1, df2, left_on=['Date', 'Segment'], right_on=['date', 'tmcN'])
      
    2. 使用第二个数据帧的tmcP

      df = pd.merge(df1, df2, left_on=['Date', 'Segment'], right_on=['date', 'tmcP'])
      

    【讨论】:

      猜你喜欢
      • 2020-11-02
      • 2017-11-21
      • 1970-01-01
      • 2019-08-30
      • 2019-10-31
      • 1970-01-01
      • 1970-01-01
      • 2017-11-03
      相关资源
      最近更新 更多