НачатьНачать бесплатно

Подсчёт объектов на изображение

Следующий шаг в построении пайплайна для этого набора данных — создание нескольких аналитических столбцов. Вам нужно подсчитать количество собак на каждом изображении на основе столбца dog_list, созданного ранее. Также был определён тип DogType, который обеспечит корректный разбор данных в некоторых столбцах.

Фрейм данных joined_df доступен в том виде, в котором вы его последний раз определили; тип DogType типа StructType также определён. Библиотека pyspark.sql.functions доступна под псевдонимом F.

Это упражнение является частью курса

Очистка данных с помощью PySpark

Посмотреть курс

Инструкции к упражнению

  • Создайте функцию Python, которая разбивает каждую запись в dog_list на соответствующие части. Обязательно приведите строки к нужным типам, иначе DogType не сможет корректно разобрать данные.
  • Создайте UDF на основе этой функции.
  • Используйте UDF, чтобы создать новый столбец с именем dogs.
  • Выведите количество собак в новом столбце для первых 10 строк.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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.____(____('____')).____(____)
Редактировать и запускать код