from sklearn.preprocessing import OrdinalEncoder data = {'Size': ['Small', 'Medium', 'Large', 'Medium']} df = pd.DataFrame(data) encoder = OrdinalEncoder(categories=[['Small', 'Medium', 'Large']]) df['Size_encoded'] = encoder.fit_transform(df[['Size']]) print(df)