CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Utilisez select() et show() pour examiner les valeurs distinctes de la colonne 'ASSUMABLEMORTGAGE' et créez la liste yes_values pour 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 liste yes_values et pour 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