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

Удаление строк-комментариев

Ваш руководитель просит вас выполнить сложный разбор нового набора данных. Эти данные представляют собой разметку для набора данных 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" % (____, ____, ____))
Редактировать и запускать код