ПочатиПочніть безкоштовно

Вилучення закоментованих рядків

Керівник просить вас виконати складний парсинг нового набору даних. Він містить анотації до набору ImageNet, але зосереджується саме на породах собак і їх ідентифікації на зображеннях. Перш ніж переходити до аналізу, потрібно прибрати кілька компонентів із некоректними або помилковими даними. Загальна схема документа невідома, тож ви хочете імпортувати рядки в один стовпець, щоб оперативно їх переглянути.

Спочатку потрібно вилучити всі закоментовані рядки в наборі даних.

Контекст spark і базовий CSV‑файл (annotations.csv.gz) уже доступні. Також доступна функція col.

Ця вправа є частиною курсу

Очищення даних у PySpark

Переглянути курс

Інструкції до вправи

  • Імпортуйте файл annotations.csv.gz у DataFrame та підрахуйте кількість рядків. Укажіть символ розділювача |.
  • Дізнайтеся, скільки рядків починаються з #.
  • Імпортуйте файл ще раз у новий DataFrame, але вкажіть символ коментаря в параметрах, щоб вилучити закоментовані рядки.
  • Порахуйте рядки в новому DataFrame і перевірте, що різниця відповідає очікуваній.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Import the file to a DataFrame and perform a row count
annotations_df = spark.read.____('____', sep=____)
full_count = annotations_df.____

# Count the number of rows beginning with '#'
comment_count = annotations_df.____(col('_c0').____('#')).count()

# Import the file to a new DataFrame, without commented rows
no_comments_df = ____.____.____('____', ____=____, comment='____')

# Count the new DataFrame and verify the difference is as expected
no_comments_count = no_comments_df.count()
print("Full count: %d\nComment count: %d\nRemaining count: %d" % (____, ____, ____))
Редагувати та запускати код