Análise adicional
Você moldou esse conjunto de dados em um formato significativamente diferente do que era antes, mas ainda há algumas coisas a fazer. Você precisa preparar os dados da coluna para uso em análises posteriores e remover algumas colunas intermediárias.
O contexto spark
está disponível e pyspark.sql.functions
tem como alias o endereço F
. Os tipos de pyspark.sql.types
já foram importados. O DataFrame split_df
está como você o deixou pela última vez. Lembre-se de que você pode usar .printSchema()
em um DataFrame na área do console para visualizar os nomes e tipos de coluna.
⚠️ Nota: Se você vir um AttributeError
, atualize os exercícios e clique em Run Solution sem clicar em Run Code.
Este exercício faz parte do curso
Limpeza de dados com o PySpark
Instruções do exercício
- Crie uma nova função chamada
retriever
que recebe dois argumentos, as colunas divididas (cols) e o número total de colunas (colcount). Essa função deve retornar uma lista das entradas que ainda não foram definidas como colunas (ou seja, tudo após o item 4 da lista). - Defina a função como um Spark UDF, retornando uma matriz de strings.
- Crie a nova coluna
dog_list
usando o endereço UDF e as colunas disponíveis no DataFrame. - Remova as colunas
_c0
,colcount
esplit_cols
.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
def retriever(____, ____):
# Return a list of dog data
return ____[4:____]
# Define the method as a UDF
udfRetriever = ____(____, ArrayType(____))
# Create a new column using your UDF
split_df = split_df.withColumn('dog_list', ____(____, ____))
# Remove the original column, split_cols, and the colcount
split_df = split_df.drop('____').____('____').____('____')