Supprimer les lignes invalides
Maintenant que vous avez supprimé avec succès les lignes commentées, vous avez reçu des informations sur le format général des données. Le DataFrame doit contenir au minimum 5 colonnes séparées par des tabulations. Rappelez-vous que votre DataFrame initial ne comporte qu’une seule colonne ; vous devrez donc découper les données sur les caractères tabulation (\t).
Le DataFrame annotations_df est déjà disponible, avec les lignes commentées supprimées. La bibliothèque spark.sql.functions est disponible sous l’alias F. Le nombre initial de lignes disponibles dans le DataFrame est stocké dans la variable initial_count.
Cet exercice fait partie du cours
Nettoyer des données avec PySpark
Instructions
- Créez une nouvelle variable
tmp_fieldsen utilisant la colonne'_c0'du DataFrameannotations_dfet découpez-la sur le caractère de tabulation. - Créez une nouvelle colonne dans
annotations_dfnommée'colcount'représentant le nombre de champs définis à 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 cet exemple de code.
# 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))