1. Learn
  2. /
  3. Курси
  4. /
  5. Очищення даних у PySpark

Connected

Вправа

Відсоток пікселів із собакою

Останнє завдання з розбору анотацій про собак — визначити, який відсоток пікселів на кожному зображенні відповідає собаці (або кільком собакам). Вам знадобляться прийоми, які ви вивчили в цьому курсі, щоб обчислити це та додати як стовпці для подальшого аналізу.

Щоб обчислити відсоток пікселів, спершу порахуйте загальну кількість пікселів, що представляють кожну собаку, а потім підсумуйте їх для зображення. Обмежувальну рамку можна порахувати за формулою:

(Xend - Xstart) * (Yend - Ystart)

ПРИМІТКА: У цьому завданні можна ігнорувати можливе перекривання обмежувальних рамок.

Для відсотка обчисліть загальну кількість «собачих» пікселів, поділену на загальний розмір зображення, помножену на 100.
Датафрейм joined_df — у тому стані, в якому ви використовували його востаннє. pyspark.sql.functions має псевдонім F.

Інструкції

100 XP
  • Визначте функцію Python, яка приймає список кортежів (об'єкти собак) і обчислює загальну кількість «собачих» пікселів на зображення.
  • Створіть UDF на основі цієї функції та використайте його, щоб створити новий стовпець 'dog_pixels' у DataFrame.
  • Створіть ще один стовпець, 'dog_percent', що представляє відсоток 'dog_pixels' на зображенні. Переконайтеся, що значення в межах 0–100%. Використовуйте лише рядкову назву стовпця (тобто «columnname», а не df.columnname).
  • Показати перші 10 рядків, де на зображенні понад 60% 'dog_pixels'. Для цього використайте рядок у стилі SQL (тобто 'columnname > ____').