У меня есть данные в форме:
frame1 = pd.DataFrame({'supplier1_match0': ['x'], 'id': [1]})
frame2 = pd.DataFrame({'supplier1_match0': ['2x'], 'id': [2]})
и я хочу объединить несколько кадров в кадр следующим образом:
base_frame = pd.DataFrame({'id':[1,2,3]})
Я объединяю идентификатор и получаю:
merged = base_frame.merge(frame1, how='left', left_on='id', right_on='id')
merged = merged.merge(frame2, how='left', left_on='id', right_on='id')
id supplier1_match0_x supplier1_match0_y
0 1 x NaN
1 2 NaN 2x
2 3 NaN NaN
Столбец дублируется, и добавляется символ «y».Вот что мне нужно:
id, supplier1_match0, ...
1, x
2, 2x
3, NaN
Есть ли простой способ добиться этого?Возникает аналогичный вопрос ( Вложенный словарь к многоиндексному кадру данных, где ключи словаря - это метки столбцов ), но данные имеют другую форму.Обратите внимание, что у меня есть несколько поставщиков, и у них различное количество совпадений, поэтому я не могу предположить, что данные будут иметь «прямоугольную» форму.Заранее спасибо.