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>Instructions de l’exercice
- Importez la fonction nécessaire
when()depuispyspark.sql.functions. - Créez une condition de correspondance de chaîne en utilisant
like()pour rechercher le motif de chaîneAttached Garagedansdf['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îneDetached Garagedansdf['GARAGEDESCRIPTION']et utilisez les jokers%afin qu’il corresponde à n’importe quel emplacement dans le champ. - Créez une nouvelle colonne
has_attached_garageen utilisantwhen()pour affecter la valeur 1 si le garage est attenant, 0 s’il est indépendant, et utilisezotherwise()pour affecter la valeur nulleNonesi 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)