CommencerCommencez gratuitement

Extraire du texte vers de nouvelles variables

Les garages sont un critère important pour les maisons au Minnesota, où la plupart des personnes possèdent une voiture et où il est fastidieux d’enlever la neige d’un véhicule garé dehors. Le type de garage compte aussi : pouvez-vous rejoindre votre voiture sans affronter le froid, ou non ? Créons une variable has_attached_garage indiquant si le garage est attenant à la maison ou non.

Cet exercice fait partie du cours

<cours>Feature Engineering avec PySpark</cours>
Voir le cours

Instructions de l’exercice

  • Importez la fonction nécessaire when() depuis pyspark.sql.functions.
  • Créez une condition de correspondance de chaîne en utilisant like() pour rechercher le motif de chaîne Attached Garage dans df['GARAGEDESCRIPTION'] et utilisez les jokers % afin qu’il corresponde à n’importe quel emplacement dans le champ.
  • De même, créez une autre condition avec like() pour trouver le motif de chaîne Detached Garage dans df['GARAGEDESCRIPTION'] et utilisez les jokers % afin qu’il corresponde à n’importe quel emplacement dans le champ.
  • Créez une nouvelle colonne has_attached_garage en utilisant when() pour affecter la valeur 1 si le garage est attenant, 0 s’il est indépendant, et utilisez otherwise() pour affecter la valeur nulle None si ce n’est ni l’un ni l’autre.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Import needed functions
____ ____ ____ ____

# Create boolean conditions for string matches
has_attached_garage = df[____].____(____)
has_detached_garage = df[____].____(____)

# Conditional value assignment 
df = df.withColumn(____, (____(____, 1)
                                          .____(____, 0)
                                          .____(____)))

# Inspect results
df[['GARAGEDESCRIPTION', 'has_attached_garage']].show(truncate=100)
Modifier et exécuter le code