Par nombre d'images
Votre prochaine tâche dans la construction d'un pipeline de données pour cet ensemble de données est de créer quelques colonnes orientées vers l'analyse. On vous a demandé de calculer le nombre de chiens présents dans chaque image en vous basant sur la colonne dog_list
que vous avez créée précédemment. Vous avez également créé le site DogType
qui permettra une meilleure analyse des données dans certaines colonnes.
Le site joined_df
est disponible tel que vous l'avez défini la dernière fois, et le type de structure DogType
est défini. pyspark.sql.functions
est disponible sous l'alias F
.
Cet exercice fait partie du cours
Nettoyer des données avec PySpark
Instructions
- Créez une fonction Python pour diviser chaque entrée de
dog_list
en parties appropriées. Veillez à convertir les chaînes de caractères dans les types appropriés, sinon le DogType ne sera pas analysé correctement. - Créez un UDF à l'aide de la fonction ci-dessus.
- Utilisez l'UDF pour créer une nouvelle colonne appelée
dogs
. - Indiquez le nombre de chiens dans la nouvelle colonne pour les 10 premières lignes.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Create a function to return the number and type of dogs as a tuple
def dogParse(doglist):
dogs = []
for dog in doglist:
(breed, start_x, start_y, end_x, end_y) = dog.____('____')
dogs.append((____, int(____), ____, ____, ____))
return dogs
# Create a UDF
udfDogParse = ____(____, ArrayType(____))
# Use the UDF to list of dogs
joined_df = joined_df.____('____', ____('____'))
# Show the number of dogs in the first 10 rows
joined_df.____(____('____')).____(____)