Utiliser des filtres texte pour supprimer des enregistrements
Il est utile de poser beaucoup de questions à vos clients et de prendre le temps de bien comprendre vos variables. Vous découvrez que les prêts « assumables » sont rares dans l’immobilier et votre client vous suggère de les exclure. Dans cet exercice, nous allons utiliser isin(), qui est similaire à like() mais permet de passer une liste de valeurs à utiliser comme filtre au lieu d’une seule.
Cet exercice fait partie du cours
<cours>Feature Engineering avec PySpark</cours>Instructions de l’exercice
- Utilisez
select()etshow()pour inspecter les valeurs distinctes de la colonne'ASSUMABLEMORTGAGE'et créez la listeyes_valuespour toutes les valeurs contenant la chaîne'Yes'. - Utilisez
~df['ASSUMABLEMORTGAGE'],isin()et.isNull()pour créer un filtre NOT afin de supprimer les enregistrements contenant les valeurs correspondantes dans la listeyes_valueset conserver les enregistrements avec des valeurs nulles. Stockez ce filtre dans la variabletext_filter. - Utilisez
where()pour appliquertext_filteràdf. - Affichez le nombre d’enregistrements restants dans
df.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Inspect unique values in the column 'ASSUMABLEMORTGAGE'
df.____([____]).distinct().____()
# List of possible values containing 'yes'
yes_values = [____, ____]
# Filter the text values out of df but keep null values
text_filter = ~df['ASSUMABLEMORTGAGE'].isin(____) | df['ASSUMABLEMORTGAGE'].isNull()
df = df.____(text_filter)
# Print count of remaining records
print(____.____())