В моем наборе данных у меня есть два категориальных столбца, которые я хотел бы перечислить. Оба столбца содержат страны, некоторые перекрываются (отображаются в обоих столбцах). Я хотел бы дать одно и то же число в столбцах 1 и 2 для одной и той же страны.
Мои данные выглядят примерно так:
import pandas as pd
d = {'col1': ['NL', 'BE', 'FR', 'BE'], 'col2': ['BE', 'NL', 'ES', 'ES']}
df = pd.DataFrame(data=d)
df
В настоящее время я преобразовываю данные как:
from sklearn.preprocessing import LabelEncoder
df.apply(LabelEncoder().fit_transform)
Однако это не делает различий между FR и ES. Есть ли другой простой способ прийти к следующему выводу?
o = {'col1': [2,0,1,0], 'col2': [0,2,4,4]}
output = pd.DataFrame(data=o)
output