Фильтрация содержимого столбцов с помощью Python
Вы уже познакомились с различными операциями над столбцами DataFrame — теперь пора применить эти знания к реальному набору данных. DataFrame voter_df содержит сведения о членах городского совета Далласа за несколько последних лет. В этом сокращённом DataFrame хранятся дата голосования, а также имя и должность каждого участника. Руководитель попросил вас очистить эти данные, чтобы в дальнейшем их можно было использовать в отчётах. Основная задача — удалить пустые записи и посторонние символы, а затем выбрать конкретных участников голосования, чьи данные можно проверить.
Это один из первых шагов в очистке данных — устранение всего, что явно не соответствует нужному формату. Изучите исходные данные и обратите внимание на то, что выглядит нетипично в столбце VOTER_NAME.
Библиотека pyspark.sql.functions уже импортирована под псевдонимом F.
Это упражнение является частью курса
Очистка данных с помощью PySpark
Инструкции к упражнению
- Выведите уникальные значения столбца
VOTER_NAME. - Отфильтруйте
voter_df, оставив строки, в которых длинаVOTER_NAMEсоставляет от 1 до 20 символов. - Исключите из
voter_dfстроки, в которыхVOTER_NAMEсодержит символ_. - Снова выведите уникальные значения столбца
VOTER_NAME.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Show the distinct VOTER_NAME entries
voter_df.select(____).distinct().show(40, truncate=False)
# Filter voter_df where the VOTER_NAME is 1-20 characters in length
voter_df = ____('length(VOTER_NAME) > 0 and length(VOTER_NAME) < 20')
# Filter out voter_df where the VOTER_NAME contains an underscore
voter_df = voter_df.filter(~ F.col('VOTER_NAME').____)
# Show the distinct VOTER_NAME entries again
voter_df.____(____).____().____(40, truncate=False)