Fractionner et exploser
Transformer un champ composé comme GARAGEDESCRIPTION pour en tirer quelque chose d’utile est un processus en plusieurs étapes. Il est utile de comprendre dès le départ la valeur que vous pouvez obtenir en l’éclatant. Dans cet exemple, nous allons convertir notre chaîne en un tableau de type liste, l’exploser, puis examiner les valeurs uniques.
Cet exercice fait partie du cours
<cours>Feature Engineering avec PySpark</cours>Instructions de l’exercice
- Importez les fonctions nécessaires
split()etexplode()depuispyspark.sql.functions. - Utilisez
split()pour créer une nouvelle colonnegarage_listen scindantdf['GARAGEDESCRIPTION']sur ", " (une virgule suivie d’un espace). - Créez un nouvel enregistrement pour chaque valeur de
df['garage_list']avecexplode()et attribuez-le à une nouvelle colonneex_garage_list. - Utilisez
distinct()pour obtenir les valeurs uniques deex_garage_listet affichez les 100 premières lignes avecshow, en les tronquant à 50 caractères pour visualiser les valeurs.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Import needed functions
____ ____ ____ ____, ____
# Convert string to list-like array
df = df.withColumn(____, ____(____, ____))
# Explode the values into new records
ex_df = df.withColumn(____, ____(____))
# Inspect the values
ex_df[['ex_garage_list']].____().____(100, ____=____)