Suppression des lignes non valides
Maintenant que vous avez réussi à supprimer les lignes commentées, vous avez reçu des informations sur le format général des données. Le DataFrame doit comporter au moins 5 colonnes séparées par des tabulations. N'oubliez pas que votre DataFrame d'origine n'a qu'une seule colonne, vous devrez donc diviser les données sur les caractères de tabulation (\t
).
Le DataFrame annotations_df
est déjà disponible, les lignes commentées ayant été 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_fields
à l'aide de la colonne DataFrameannotations_df
'_c0'
en la divisant sur le caractère de tabulation. - Créez une nouvelle colonne dans
annotations_df
nommée'colcount'
représentant le nombre de champs définis à l'étape précédente. - Filtrez toutes les lignes de
annotations_df
contenant moins de 5 champs. - Comptez le nombre de lignes dans le DataFrame et comparez avec
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))