Extraire du texte en nouvelles caractéristiques
Au Minnesota, les garages comptent beaucoup pour les maisons, car la plupart des gens ont une auto et il est pénible d'enlever la neige sur un véhicule stationné dehors. Le type de garage est aussi important : pouvez-vous accéder à votre auto sans affronter le froid? Créons une caractéristique has_attached_garage qui indique si le garage est rattaché à la maison ou non.
Cette activité fait partie du cours
Ingénierie des caractéristiques avec PySpark
Instructions de l’exercice
- Importez la fonction requise
when()depuispyspark.sql.functions. - Créez une condition de correspondance de chaîne avec
like()pour chercher le motifAttached Garagedansdf['GARAGEDESCRIPTION']et utilisez les caractères génériques%afin qu'il corresponde partout dans le champ. - De la même façon, créez une autre condition avec
like()pour repérer le motifDetached Garagedansdf['GARAGEDESCRIPTION']et utilisez les caractères génériques%afin qu'il corresponde partout dans le champ. - Créez une nouvelle colonne
has_attached_garageen utilisantwhen()pour attribuer la valeur 1 si le garage est attenant, 0 s'il est détaché, et utilisezotherwise()pour attribuer 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)