ComeçarComece de graça

Remoção de linhas comentadas

Seu chefe gostaria que você realizasse uma análise complexa em um novo conjunto de dados. Os dados representam dados de anotação para o conjunto de dados ImageNet, mas com foco específico em raças de cães e sua identificação em imagens. Antes que qualquer análise real possa ocorrer, você precisará limpar vários componentes de dados inválidos/incorretos. O esquema geral do documento é desconhecido, portanto, você gostaria de importar as linhas em uma única coluna, permitindo uma análise rápida.

Para começar, você precisa remover todas as linhas comentadas do conjunto de dados.

O contexto spark e o arquivo base CSV (annotations.csv.gz) estão disponíveis para você trabalhar. A função col também está disponível para uso.

Este exercício faz parte do curso

Limpeza de dados com o PySpark

Ver curso

Instruções do exercício

  • Importe o arquivo annotations.csv.gz para um DataFrame e faça uma contagem de linhas. Especifique um caractere separador de |.
  • Consulte os dados para saber o número de linhas que começam com #.
  • Importe o arquivo novamente para um novo DataFrame, mas especifique o caractere de comentário nas opções para remover todas as linhas comentadas.
  • Conte o novo DataFrame e verifique se a diferença é a esperada.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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" % (____, ____, ____))
Editar e executar o código