Объединить два кадра данных, если несколько столбцов идентичны - PullRequest
0 голосов
/ 20 ноября 2018

Поэтому я немного искал здесь, но не смог найти то, что искал в точности ...

Извинения, если я что-то здесь упускаю.

Я буду использоватьпример, показывающий, чего я хочу достичь, предположим, что у меня есть следующие 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 и многое другое (еще 700 тыс.)Однако я хочу объединить эти кадры данных, когда КАЖДОЕ значение, 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

Мне кажется, что я упускаю очень очевидноешагните сюда, но были в этом в течение некоторого времени теперь и не можете понять это.Любая помощь будет признательна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...