CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Créez une nouvelle variable tmp_fields en utilisant la colonne '_c0' du DataFrame annotations_df et en la scindant sur le caractère de tabulation.
  • Créez une nouvelle colonne dans annotations_df nommée 'colcount' représentant le nombre de champs défini à l'étape précédente.
  • Filtrez toutes les lignes de annotations_df qui 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))
Modifier et exécuter le code