CommencerCommencer 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. Il faut 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 allez utiliser un jeu de données de profils d’utilisateurs contenant les préférences et choix de clients 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 une colonne numérique à l’aide de OrdinalEncoder de sklearn. Le DataFrame a été chargé pour vous sous le nom users. La fonction OrdinalEncoder() a également été importée.

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

Cet exercice fait partie du cours

Gérer les données manquantes en Python

Afficher le cours

Instructions

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

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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