Вы можете объединить суб-DataFrame (только с этими столбцами):
df2[list('xab')] # df2 but only with columns x, a, and b df1.merge(df2[list('xab')])