Filtrando o conteúdo da coluna com Python
Você já viu como usar várias operações nas colunas do DataFrame - agora você pode modificar um conjunto de dados real. O DataFrame voter_df
contém informações sobre os eleitores do Conselho Municipal de Dallas dos últimos anos. Esse DataFrame truncado contém a data em que o voto foi dado e o nome e a posição do eleitor. Seu gerente pediu que você limpe esses dados para que eles possam ser integrados posteriormente em alguns relatórios desejados. A principal tarefa é remover quaisquer entradas nulas ou caracteres ímpares e retornar um conjunto específico de eleitores para que você possa validar suas informações.
Essa costuma ser uma das primeiras etapas da limpeza de dados: remover tudo o que estiver obviamente fora do formato. Para esse conjunto de dados, verifique os dados originais e veja o que parece estar fora do lugar na coluna VOTER_NAME
.
A biblioteca pyspark.sql.functions
já foi importada com o alias F
.
Este exercício faz parte do curso
Limpeza de dados com o PySpark
Instruções do exercício
- Mostre as entradas distintas do site
VOTER_NAME
. - Filtre
voter_df
onde oVOTER_NAME
tem de 1 a 20 caracteres. - Filtre
voter_df
ondeVOTER_NAME
contém um_
. - Mostre novamente as entradas distintas do site
VOTER_NAME
.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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)