如果多个列相同,则合并两个数据框

时间:2018-11-20 04:58:47

标签: python pandas merge

所以我在这里搜索了一下,但找不到我想要的东西...

抱歉,如果我在这里缺少任何内容。

我将使用一个示例来说明我想完成的工作,假设我有以下DF:

    df1= p1        p2        p3   ...      p13       Data#
        0.000      0.000     0.0005429    0.001539
        0.0243     0.03459    0.00000      0.000019 
        ...  
       0.0045     0.000       0.000135      0.2145

和df2

   df2= p1        p2        p3   ...      p13          Prospect #
       0.0243     0.03459    0.00000      0.000019
       0.0045     0.000       0.000135      0.2145
       0.000      0.000     0.0005429    0.001539

DF1包含df2的每一项,并且还有更多(多700k),但是我想在每个值p1-p13正确时合并这些数据帧,并使我得到的帧包含两个行。

我尝试使用以下代码:

 m1 = pd.read_csv(r'df1.csv') #my file with 62k which maps to 1 row in master
 m2 = pd.read_csv(r'df2.csv')#mymasterfile
 m3 = pd.merge(m1, m2, how ='outter', on= ['p1','p2','p3','p4','p5','p6','p7','p8','p9','p10','p11','p12','p13'])

这导致我将多个值映射到主数据帧中的单个条目。

enter image description here

我觉得我在这里错过了一个非常明显的步骤,但是已经进行了一段时间了,似乎无法弄清楚。任何帮助将不胜感激。

0 个答案:

没有答案