Trong tập dữ liệu của tôi, tôi có hai cột phân loại mà tôi muốn đánh số. Cả hai cột đều chứa các quốc gia, một số chồng chéo (xuất hiện trong cả hai cột). Tôi muốn cung cấp cùng một số trong cột1 và cột2 cho cùng một quốc gia.
Dữ liệu của tôi trông giống như:
import pandas as pd
d = {'col1': ['NL', 'BE', 'FR', 'BE'], 'col2': ['BE', 'NL', 'ES', 'ES']}
df = pd.DataFrame(data=d)
df
Hiện tại tôi đang chuyển đổi dữ liệu như:
from sklearn.preprocessing import LabelEncoder
df.apply(LabelEncoder().fit_transform)
Tuy nhiên, điều này làm cho không có sự phân biệt giữa FR và ES. Có một cách đơn giản khác để đi đến đầu ra sau đây?
o = {'col1': [2,0,1,0], 'col2': [0,2,4,4]}
output = pd.DataFrame(data=o)
output