Concatene pares específicos de columnas en un marco de datos basado en un marco de datos de referencia con un índice diferente

Mi objetivo es concatenar columnas en un marco de datos (Fuente), basado en pares que se describen en un marco de datos separado (Referencia). El marco de datos resultante debe reemplazar los encabezados de columna en la Fuente con las etiquetas de índice en la Referencia.

El marco de datos utilizado para hacer referencia se ve así:
df1 = pd.DataFrame(dict(
    FIRST=['Alpha', 'Alpha', 'Charlie'],
    SECOND=['Bravo', 'Delta', 'Delta']
), ['H1', 'H2', 'H3'])

df1

      FIRST SECOND
H1    Alpha  Bravo
H2    Alpha  Delta
H3  Charlie  Delta
El marco de datos utilizado como fuente de datos:
df2 = pd.DataFrame(dict(
    Alpha=['A', 'C'],
    Bravo=['A', 'C'],
    Delta=['T', 'C'],
    Charlie=['T', 'G']
), ['item-000', 'item-111'])

df2

           Alpha Bravo Charlie Delta
item-000     A     A       T     T
item-111     C     C       G     C
Cómo se verá el marco de datos resultante:
          H1  H2  H3
item-000  AA  AT  TT
item-111  CC  CC  GC

Pregunta
¿Es esto posible con la configuración actual, o sería mejor cambiar la forma en que se encuentran los datos?

Respuestas a la pregunta(2)

Su respuesta a la pregunta