Conteggio per immagine
Il tuo prossimo compito nella creazione di una data pipeline per questo dataset è aggiungere alcune colonne orientate all’analisi. Ti è stato chiesto di calcolare il numero di cani presenti in ogni immagine a partire dalla colonna dog_list creata in precedenza. Hai anche creato DogType, che permetterà una migliore interpretazione dei dati in alcune colonne.
joined_df è disponibile così come lo hai definito l’ultima volta e lo StructType DogType è definito. pyspark.sql.functions è disponibile con l’alias F.
Questo esercizio fa parte del corso
Pulizia dei dati con PySpark
Istruzioni dell'esercizio
- Crea una funzione Python per suddividere ciascun elemento in
dog_listnelle parti appropriate. Assicurati di convertire le stringhe nei tipi corretti, altrimentiDogTypenon verrà interpretato correttamente. - Crea una UDF usando la funzione sopra.
- Usa la UDF per creare una nuova colonna chiamata
dogs. - Mostra il numero di cani nella nuova colonna per le prime 10 righe.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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.____(____('____')).____(____)