Remoção de linhas inválidas
Agora que você removeu com sucesso as linhas comentadas, recebeu algumas informações sobre o formato geral dos dados. Você deve ter pelo menos 5 colunas separadas por tabulação no DataFrame. Lembre-se de que o DataFrame original tem apenas uma única coluna, portanto, você precisará dividir os dados nos caracteres de tabulação (\t
).
O DataFrame annotations_df
já está disponível, com as linhas comentadas removidas. A biblioteca spark.sql.functions
está disponível sob o pseudônimo F
. O número inicial de linhas disponíveis no DataFrame é armazenado na variável initial_count
.
Este exercício faz parte do curso
Limpeza de dados com o PySpark
Instruções do exercício
- Crie uma nova variável
tmp_fields
usando a colunaannotations_df
DataFrame'_c0'
dividindo-a no caractere de tabulação. - Crie uma nova coluna em
annotations_df
chamada'colcount'
que represente o número de campos definidos na etapa anterior. - Filtre todas as linhas de
annotations_df
que contenham menos de 5 campos. - Conte o número de linhas no DataFrame e compare com o
initial_count
.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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))