Por contagem de imagens
Sua próxima tarefa na criação de um pipeline de dados para esse conjunto de dados é criar algumas colunas orientadas para análise. Você foi solicitado a calcular o número de cães encontrados em cada imagem com base na coluna dog_list
criada anteriormente. Você também criou o site DogType
, que permitirá uma melhor análise dos dados em algumas das colunas de dados.
O joined_df
está disponível como você o definiu pela última vez, e o DogType
StructType está definido. O pyspark.sql.functions
está disponível sob o alias F
.
Este exercício faz parte do curso
Limpeza de dados com o PySpark
Instruções do exercício
- Crie uma função Python para dividir cada entrada em
dog_list
em suas partes apropriadas. Certifique-se de converter todas as cadeias de caracteres nos tipos apropriados ou o DogType não será analisado corretamente. - Crie um UDF usando a função acima.
- Use o endereço UDF para criar uma nova coluna chamada
dogs
. - Mostre o número de cães na nova coluna para as primeiras 10 linhas.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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.____(____('____')).____(____)