Вилучення некоректних рядків
Тепер, коли ви успішно вилучили рядки з коментарями, ви отримали інформацію про загальний формат даних. У датафреймі має бути щонайменше 5 стовпців, розділених табуляцією. Пам'ятайте, що ваш початковий датафрейм має лише один стовпець, тож вам потрібно розбити дані за символом табуляції (\t).
Дані annotations_df уже доступні, а рядки з коментарями вилучені. Бібліотека spark.sql.functions доступна під псевдонімом F. Початкова кількість рядків у датафреймі збережена у змінній initial_count.
Ця вправа є частиною курсу
Очищення даних у PySpark
Інструкції до вправи
- Створіть нову змінну
tmp_fields, використавши стовпець'_c0'датафреймуannotations_df, розбивши його за символом табуляції. - Створіть у
annotations_dfновий стовпець з назвою'colcount', що відображає кількість полів, визначених на попередньому кроці. - Відфільтруйте з
annotations_dfусі рядки, що містять менше ніж 5 полів. - Підрахуйте кількість рядків у датафреймі та порівняйте її з
initial_count.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Split _c0 on the tab character and store the list in a variable
tmp_fields = ____(annotations_df['_c0'], ____)
# Create the colcount column on the DataFrame
annotations_df = annotations_df.____('____', ____(____))
# Remove any rows containing fewer than 5 fields
annotations_df_filtered = annotations_df.____(~ (____))
# Count the number of rows
final_count = ____
print("Initial count: %d\nFinal count: %d" % (initial_count, final_count))