У меня есть два фрейма данных DB1 и DB2 в Pandas, оба со столбцом names
, содержащим названия компаний. Я использовал нечеткое сопоставление строк с пакетом string_grouper
, чтобы получить таблицу matches
для компаний, присутствующих как в DB1, так и в DB2, в соответствии со столбцами names
, которая выглядит так:
введите описание изображения здесь
Теперь я хочу присоединить DB1 и DB2 к matches
, т.е. добавить их столбцы в совпадения, но только для компаний, которые отображаются в совпадениях.
Итак, я хочу использовать matches['left_side']
как эквивалент DB1 ['names'] (т. е. добавить к каждой строке matches
строку из DB1, где DB1['names']
значение эквивалентно значению в matches['left_side']
) и matches['right_side']
как эквивалент DB2 ['names'] в DB2. (т.е. добавьте к каждой строке matches
строку из DB2, где DB2['names']
значение эквивалентно значению в matches['right_side']
)
Как я могу это сделать?
I также подумайте, что может быть необходимо переименовать DB2 ['names'], поскольку в противном случае результирующая объединенная таблица будет иметь столбцы с одинаковыми именами из DB1 ['names'] и DB2 ['names']?
Edit: happy использовать SQL вместо Pandas при необходимости