Jumlah per gambar
Tugas Anda berikutnya dalam membangun pipeline data untuk himpunan data ini adalah membuat beberapa kolom berorientasi analisis. Anda diminta menghitung jumlah anjing yang ditemukan dalam setiap gambar berdasarkan kolom dog_list yang dibuat sebelumnya. Anda juga telah membuat DogType yang akan memungkinkan penguraian data lebih baik dalam beberapa kolom data.
joined_df tersedia sebagaimana terakhir Anda definisikan, dan DogType (StructType) sudah didefinisikan. pyspark.sql.functions tersedia dengan alias F.
Latihan ini merupakan bagian dari kursus
Membersihkan Data dengan PySpark
Instruksi latihan
- Buat fungsi Python untuk memisahkan setiap entri di
dog_listke bagian-bagiannya yang sesuai. Pastikan mengonversi string ke tipe yang tepat, jika tidak DogType tidak akan mengurai dengan benar. - Buat UDF menggunakan fungsi di atas.
- Gunakan UDF untuk membuat kolom baru bernama
dogs. - Tampilkan jumlah anjing pada kolom baru tersebut untuk 10 baris pertama.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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.____(____('____')).____(____)