J'ai le DF suivant et je souhaite effectuer un encodage One-Hot uniquement pour la colonne Country.
Country     |    Age       
--------------------------
Germany     |    23
Spain       |    25
Germany     |    24
Italy       |    30 
Jusqu'à la version 0.20 de scikitlearn, tout ce que vous aviez à faire était de spécifier l'index de la colonne que vous voulez faire l'encodage One-Hot dans categorical_features.
En d'autres termes, cela ressemble à ceci.
from sklearn.preprocessing import OneHotEncoder
onehotencoder = OneHotEncoder(categorical_features=[0])
X = onehotencoder.fit_transform(X)
À partir de la version 0.23 de scikitlearn, ColumnTransformer est utilisé pour ces modèles qui sont traités différemment pour chaque colonne.
N'oubliez pas de spécifier restder =" passthrough " pour quitter les colonnes qui ne sont pas couvertes.
from sklearn.compose import ColumnTransformer 
from sklearn.preprocessing import OneHotEncoder
column_trans = ColumnTransformer(transformers=[('categorical', OneHotEncoder(), [0])],
                                 remainder="passthrough")
X = column_trans.fit_transform(X)