In meinem Datensatz habe ich zwei kategoriale Spalten, die ich nummerieren möchte. Die beiden Spalten enthalten beide Länder, einige überlappen sich (erscheinen in beiden Spalten). Ich möchte die gleiche Nummer in Spalte 1 und Spalte 2 für dasselbe Land angeben.
Meine Daten sehen ungefähr so aus:
import pandas as pd
d = {'col1': ['NL', 'BE', 'FR', 'BE'], 'col2': ['BE', 'NL', 'ES', 'ES']}
df = pd.DataFrame(data=d)
df
Derzeit transformiere ich die Daten wie folgt:
from sklearn.preprocessing import LabelEncoder
df.apply(LabelEncoder().fit_transform)
Dies macht jedoch keinen Unterschied zwischen FR und ES. Gibt es einen anderen einfachen Weg, um zur folgenden Ausgabe zu gelangen?
o = {'col1': [2,0,1,0], 'col2': [0,2,4,4]}
output = pd.DataFrame(data=o)
output