CommencerCommencez gratuitement

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>
Voir le cours

Instructions de l’exercice

  • Utilisez select() et show() pour inspecter les valeurs distinctes de la colonne 'ASSUMABLEMORTGAGE' et créez la liste yes_values pour 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 liste yes_values et conserver les enregistrements avec des valeurs nulles. Stockez ce filtre dans la variable text_filter.
  • Utilisez where() pour appliquer text_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(____.____())
Modifier et exécuter le code