Dans mon jeu de données, j'ai deux colonnes catégorielles que je voudrais numéroter. Les deux colonnes contiennent toutes deux des pays, certains se chevauchent (apparaissent dans les deux colonnes). Je voudrais donner le même numéro dans la colonne1 et la colonne2 pour le même pays.
Mes données ressemblent un peu à:
import pandas as pd
d = {'col1': ['NL', 'BE', 'FR', 'BE'], 'col2': ['BE', 'NL', 'ES', 'ES']}
df = pd.DataFrame(data=d)
df
Actuellement, je transforme les données comme:
from sklearn.preprocessing import LabelEncoder
df.apply(LabelEncoder().fit_transform)
Cependant, cela ne fait aucune distinction entre FR et ES. Existe-t-il un autre moyen simple d'arriver à la sortie suivante?
o = {'col1': [2,0,1,0], 'col2': [0,2,4,4]}
output = pd.DataFrame(data=o)
output