Как я оставляю объединяемые таблицы с отношением 1: n, сохраняя количество строк таким же, как в левой таблице, и объединяя любые дублирующиеся данные с символом / строкой, например ';'.
Пример:
Таблица стран
CountryID Country Area
1 UK 1029
2 Russia 8374
Таблица городов
CountryID City
1 London
1 Manchester
2 Moscow
2 Ufa
Я хочу:
CountryID Country Area Cities
1 UK 1029 London;Manchester
2 Russia 8374 Moscow;Ufa
Я знаю, как выполнить нормальный левыйjoin
country.merge(city, how='left', on='CountryID')
, что дает мне четыре строки вместо двух:
Area Country CountryID City
1029 UK 1 London
1029 UK 1 Manchester
8374 Russia 2 Moscow
8374 Russia 2 Ufa