Gérer les caractères indésirables (II)
Dans le dernier exercice, vous avez rapidement repéré, grâce à l’appel à df.head(), quels caractères posaient problème. Dans bien des cas, ce ne sera pas aussi évident. Il arrive souvent que des valeurs, enfouies au milieu d’une colonne, empêchent de convertir celle-ci en type numérique pour l’utiliser dans un modèle ou pour aller plus loin en ingénierie des caractéristiques.
Une manière de trouver ces valeurs consiste à forcer la colonne vers le type souhaité avec pd.to_numeric(), en transformant en NaN toutes les valeurs problématiques, puis à filtrer le DataFrame pour ne garder que les lignes contenant ces NaN.
Essayez de convertir la colonne RawSalary en float : l’opération échouera, car un caractère supplémentaire s’y cache. Trouvez ce caractère et supprimez-le afin que la colonne puisse être convertie en float.
Cet exercice fait partie du cours
Feature engineering pour le Machine Learning en Python
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Attempt to convert the column to numeric values
numeric_vals = ____(so_survey_df['RawSalary'], errors='coerce')
# Find the indexes of missing values
idx = ____
# Print the relevant rows
print(so_survey_df['RawSalary']____)