Объединить столбцы двух фреймов данных без повторяющихся строк - PullRequest
0 голосов
/ 09 ноября 2018

Здравствуйте. Я хочу объединить два кадра данных на основе совпадающего значения столбца. Когда я сделал это, это привело к дублированию строк.

Мои данные выглядят так:

df1:
  e_name   p1   p2  p3    
  e01      10   12  15
  e02      12   18  25
  e03      16   14  09

 df2:
  e_name   mean       
  e01      09 
  e02      11
  e03      15

Ожидаемый результат:

 out1:
      e_name   p1   p2  p3   mean 
     e01      10   12  15   09  
     e02      12   18  25   11
     e03      16   14  09   15

Мой код:

  #Solution 1:
  out1 = pd.merge(df1, df2, how='inner', on='e_name')

   #Solution 2:
   out2 = summary_stats.merge(df1, df2, left_on='e_name', right_on='e_name')

Оба решения возвращают повторяющиеся строки:

 e_name   p1   p2  p3   mean 
 e01      10   12  15   09
 e01      10   12  15   09  
 e02      12   18  25   11
 e02      12   18  25   11
 e03      16   14  09   15
 e03      16   14  09   15

Как получить решение без повторяющихся строк?

1 Ответ

0 голосов
/ 09 ноября 2018

Я думаю, вам нужно удалить дубликаты во втором DataFrame на drop_duplicates на столбец e_name:

out1 = pd.merge(df1, df2.drop_duplicates('e_name'), on='e_name')

Или в обоих:

out1 = pd.merge(df1.drop_duplicates('e_name'), df2.drop_duplicates('e_name'), on='e_name')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...