Utiliser des filtres textuels pour enlever des enregistrements
Il vaut la peine de poser beaucoup de questions à vos clients et de prendre le temps de bien comprendre vos variables. Vous apprenez que l'hypothèque transférable est rare dans l'industrie immobilière et votre client vous suggère de les exclure. Dans cet exercice, nous allons utiliser isin(), qui ressemble à like() mais nous permet de transmettre une liste de valeurs à utiliser comme filtre plutôt qu'une seule.
Cette activité fait partie du cours
Ingénierie des caractéristiques avec PySpark
Instructions de l’exercice
- Utilisez
select()etshow()pour examiner les valeurs distinctes de la colonne'ASSUMABLEMORTGAGE'et créez la listeyes_valuespour toutes les valeurs qui contiennent la chaîne'Yes'. - Utilisez
~df['ASSUMABLEMORTGAGE'],isin()et.isNull()pour créer un filtre NOT afin d'enlever les enregistrements contenant les valeurs correspondantes dans la listeyes_valueset pour 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(____.____())