Python使用多个列合并数据框

时间:2020-06-01 08:28:26

标签: python pandas merge

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

Dataframe1

Dataframe2

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

我的代码:

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双重合并时,笔记本电脑崩溃。谢谢您的协助。

Result Error

1 个答案:

答案 0 :(得分:0)

您可以尝试这样做(假设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'])