Retirer les lignes invalides
Maintenant que vous avez retiré avec succès les lignes commentées, vous avez reçu des informations sur le format général des données. Le DataFrame devrait contenir au minimum 5 colonnes séparées par des tabulations. Rappelez-vous que votre DataFrame initial ne comporte qu'une seule colonne, vous devez donc scinder les données sur les caractères de tabulation (\t).
Le DataFrame annotations_df est déjà disponible, avec les lignes commentées retirées. La bibliothèque spark.sql.functions est disponible sous l'alias F. Le nombre initial de lignes présentes dans le DataFrame est stocké dans la variable initial_count.
Cette activité fait partie du cours
Nettoyer des données avec PySpark
Instructions de l’exercice
- Créez une nouvelle variable
tmp_fieldsen utilisant la colonne'_c0'du DataFrameannotations_dfet en la scindant sur le caractère de tabulation. - Créez une nouvelle colonne dans
annotations_dfnommée'colcount'représentant le nombre de champs défini à l'étape précédente. - Filtrez toutes les lignes de
annotations_dfqui contiennent moins de 5 champs. - Comptez le nombre de lignes dans le DataFrame et comparez-le à
initial_count.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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))