W moim zestawie danych mam dwie kategoryczne kolumny, które chciałbym ponumerować. Obie kolumny zawierają kraje, niektóre pokrywają się (pojawiają się w obu kolumnach). Chciałbym podać ten sam numer w kolumnie 1 i kolumnie 2 dla tego samego kraju.
Moje dane wyglądają trochę jak:
import pandas as pd
d = {'col1': ['NL', 'BE', 'FR', 'BE'], 'col2': ['BE', 'NL', 'ES', 'ES']}
df = pd.DataFrame(data=d)
df
Obecnie przetwarzam dane takie jak:
from sklearn.preprocessing import LabelEncoder
df.apply(LabelEncoder().fit_transform)
Nie czyni to jednak rozróżnienia między FR i ES. Czy istnieje inny prosty sposób na uzyskanie następujących wyników?
o = {'col1': [2,0,1,0], 'col2': [0,2,4,4]}
output = pd.DataFrame(data=o)
output