Nel mio set di dati ho due colonne categoriche che vorrei numerare. Le due colonne contengono entrambe paesi, alcuni si sovrappongono (appaiono in entrambe le colonne). Vorrei dare lo stesso numero in colonna1 e colonna2 per lo stesso paese.
I miei dati sembrano in qualche modo:
import pandas as pd
d = {'col1': ['NL', 'BE', 'FR', 'BE'], 'col2': ['BE', 'NL', 'ES', 'ES']}
df = pd.DataFrame(data=d)
df
Attualmente sto trasformando i dati come:
from sklearn.preprocessing import LabelEncoder
df.apply(LabelEncoder().fit_transform)
Tuttavia, ciò non fa alcuna distinzione tra FR ed ES. C'è un altro modo semplice per arrivare al seguente output?
o = {'col1': [2,0,1,0], 'col2': [0,2,4,4]}
output = pd.DataFrame(data=o)
output