Я не знаю, является ли это наиболее эффективным, но вот способ сделать это:
Объединить две таблицы:
df = dfB.merge(dfA, left_on=['col1B', 'col2B'], right_on=['col1A', 'col2A'], how='inner')
Удалить столбцы из dfA:
df.drop(['col1A', 'col2A'], axis=1, inplace=True)