CommencerCommencer gratuitement

Suppression des lignes commentées

Votre patron souhaite que vous effectuiez une analyse complexe sur un nouvel ensemble de données. Les données représentent les données d'annotation de l'ensemble de données ImageNet, mais se concentrent spécifiquement sur les races de chiens et leur identification dans les images. Avant de procéder à une analyse réelle, vous devez nettoyer plusieurs éléments de données non valides ou incorrectes. Le schéma général du document n'étant pas connu, vous souhaitez importer les lignes dans une seule colonne, afin de permettre une analyse rapide.

Pour commencer, vous devez supprimer toutes les lignes commentées de l'ensemble de données.

Le contexte spark et le fichier CSV de base (annotations.csv.gz) sont à votre disposition. La fonction col est également disponible.

Cet exercice fait partie du cours

Nettoyer des données avec PySpark

Afficher le cours

Instructions

  • Importez le fichier annotations.csv.gz dans un DataFrame et comptez les lignes. Spécifiez un caractère de séparation de |.
  • Interrogez les données pour connaître le nombre de lignes commençant par #.
  • Importez à nouveau le fichier dans un nouveau DataFrame, mais spécifiez le caractère commentaire dans les options pour supprimer toutes les lignes commentées.
  • Comptez le nouveau DataFrame et vérifiez que la différence est conforme aux attentes.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Import the file to a DataFrame and perform a row count
annotations_df = spark.read.____('____', sep=____)
full_count = annotations_df.____

# Count the number of rows beginning with '#'
comment_count = annotations_df.____(col('_c0').____('#')).count()

# Import the file to a new DataFrame, without commented rows
no_comments_df = ____.____.____('____', ____=____, comment='____')

# Count the new DataFrame and verify the difference is as expected
no_comments_count = no_comments_df.count()
print("Full count: %d\nComment count: %d\nRemaining count: %d" % (____, ____, ____))
Modifier et exécuter le code