Kom igångKom igång gratis

Antal hundar per bild

Nästa steg i att bygga en datapipeline för den här datamängden är att skapa några analysinriktade kolumner. Du har fått i uppgift att beräkna antalet hundar i varje bild utifrån kolumnen dog_list som du skapade tidigare. Du har också skapat DogType, vilket möjliggör bättre tolkning av data i vissa av datakolumnerna.

joined_df är tillgänglig som du senast definierade den, och DogType StructType är definierad. pyspark.sql.functions är tillgängligt under aliaset F.

Den här övningen är en del av kursen

Datarensning med PySpark

Visa kurs

Övningsinstruktioner

  • Skapa en Python-funktion som delar upp varje post i dog_list i sina respektive delar. Se till att konvertera strängar till rätt typer, annars tolkas inte DogType korrekt.
  • Skapa en UDF med hjälp av funktionen ovan.
  • Använd UDF:en för att skapa en ny kolumn med namnet dogs.
  • Visa antalet hundar i den nya kolumnen för de första 10 raderna.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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.____(____('____')).____(____)
Redigera och kör kod