Začněte nyníZačněte zdarma

Počet psů na obrázek

Tvým dalším úkolem při budování datového pipeline pro tento dataset je vytvoření několika analytických sloupců. Bylo ti zadáno spočítat počet psů nalezených na každém obrázku na základě sloupce dog_list, který jsi vytvořil/a dříve. Vytvořil/a jsi také typ DogType, který umožní lepší zpracování dat v některých sloupcích.

DataFrame joined_df je k dispozici v podobě, jak jsi ho naposledy definoval/a, a DogType typu StructType je definován. pyspark.sql.functions je dostupný pod aliasem F.

Toto cvičení je součástí kurzu

Cleaning Data with PySpark

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř pythonovou funkci, která rozdělí každý záznam ve sloupci dog_list na jeho jednotlivé části. Nezapomeň převést řetězce na odpovídající typy – jinak DogType nebude správně fungovat.
  • Na základě této funkce vytvoř UDF.
  • Pomocí UDF vytvoř nový sloupec s názvem dogs.
  • Zobraz počet psů v novém sloupci pro prvních 10 řádků.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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.____(____('____')).____(____)
Upravit a spustit kód