CommencezCommencez gratuitement

Encodage ordinal d'une colonne catégorielle

L'imputation de valeurs catégorielles comporte quelques étapes supplémentaires par rapport à l'imputation de valeurs numériques. Vous devez d'abord les convertir en valeurs numériques, car on ne peut pas effectuer d'opérations statistiques sur des chaînes de caractères.

Vous utiliserez l'ensemble de profils d'utilisateurs qui contient les préférences et choix de client·e·s enregistrés par un restaurant. Il ne contient que des variables catégorielles. Dans cet exercice, vous allez convertir la colonne catégorielle 'ambience' en valeur numérique à l'aide de OrdinalEncoder de sklearn. Le DataFrame a été chargé pour vous sous le nom users. La fonction OrdinalEncoder() a aussi été chargée.

Les head() et tail() du DataFrame users ont été affichés pour vous.

Cette activité fait partie du cours

Gérer les données manquantes avec Python

Voir le cours

Instructions de l’exercice

  • Créez l'objet d'encodage ordinal et assignez-le à ambience_ord_enc.
  • Sélectionnez les valeurs non manquantes de la colonne 'ambience' dans users.
  • Remodellez ambience_not_null vers la forme (-1, 1).
  • Remplacez les valeurs non manquantes de ambience par leurs valeurs encodées.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Set col_name to 'ambience'
col_name = 'ambience'
# Create Ordinal encoder
ambience_ord_enc = ___

# Select non-null values of ambience column in users
ambience = users[col_name]
ambience_not_null = ___

# Reshape ambience_not_null to shape (-1, 1)
reshaped_vals = ___

# Select the non-null values for the column col_name in users and store the encoded values
encoded_vals = ambience_ord_enc.fit_transform(reshaped_vals)
users.loc[___, col_name] = np.squeeze(encoded_vals)
Modifier et exécuter le code