Etiqueta que codifica múltiples columnas con la misma categoría

Considere el siguiente marco de datos:

import pandas as pd
from sklearn.preprocessing import LabelEncoder

df = pd.DataFrame(data=[["France", "Italy", "Belgium"], ["Italy", "France", "Belgium"]], columns=["a", "b", "c"])
df = df.apply(LabelEncoder().fit_transform)
print(df)

Actualmente produce:

   a  b  c
0  0  1  0
1  1  0  0

Mi objetivo es hacer que produzca algo como esto pasando las columnas que deseo compartir valores categoriales:

   a  b  c
0  0  1  2
1  1  0  2

Respuestas a la pregunta(4)

Su respuesta a la pregunta