Раз надо мержить, я бы создала в каждом фрейме по столбцу. Для заполнения сделала бы функцию, реализующую сопоставление на основе дикта:
{
key1: {'name1', 'name2', ...},
key2: {'name3', 'name4', ...},
...
}
где в дикте ключи - то, что попадет в доп. столбец, по которому будем мержить( ключ для мержа), значения - сеты из возможных названий для одного и того же банка (тогда можно будет привести к ключу те значения, которые регуляркой и не сопоставить). После того, как заполнятся эти доп. столбцы для каждого датафрейма, можно будет смержить.