Gérer les caractères indésirables (II)
Dans le dernier exercice, vous avez pu repérer rapidement, grâce à l'appel df.head(), quels caractères posaient problème. Ce ne sera pas toujours aussi évident. Il arrive souvent que des valeurs enfouies dans une colonne empêchent de convertir celle-ci en type numérique, ce qui bloque son utilisation dans un modèle ou pour de l'ingénierie des caractéristiques.
Une façon de repérer ces valeurs consiste à forcer la colonne vers le type souhaité avec pd.to_numeric(), en convertissant en NaN toute valeur problématique, puis à filtrer le DataFrame pour ne garder que les lignes contenant des NaN.
Essayez de convertir la colonne RawSalary en nombre à virgule flottante ; l'opération échouera, car un caractère supplémentaire s'y trouve. Trouvez ce caractère et retirez-le afin de pouvoir convertir la colonne en type float.
Cette activité fait partie du cours
Ingénierie des caractéristiques pour le Machine Learning en Python
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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']____)