CommencezCommencez gratuitement

Filtrer le contenu d'une colonne avec Python

Vous avez exploré diverses opérations sur les colonnes d'un DataFrame — maintenant, vous pouvez modifier un jeu de données réel. Le DataFrame voter_df contient des renseignements sur les personnes ayant voté au conseil municipal de Dallas au cours des dernières années. Ce DataFrame tronqué comprend la date du vote ainsi que le nom et la fonction de l'électeur ou de l'électrice. Votre gestionnaire vous a demandé de nettoyer ces données afin qu'elles puissent ensuite être intégrées à certains rapports. La tâche principale consiste à supprimer toute valeur nulle ou tout caractère étrange et à retourner un ensemble précis d'électeurs et d'électrices dont vous pourrez valider l'information.

C'est souvent l'une des premières étapes du nettoyage de données : retirer tout ce qui est manifestement hors format. Pour ce jeu de données, examinez les données brutes et repérez ce qui semble anormal dans la colonne VOTER_NAME.

La bibliothèque pyspark.sql.functions est déjà importée sous l'alias F.

Cette activité fait partie du cours

Nettoyer des données avec PySpark

Voir le cours

Instructions de l’exercice

  • Affichez les valeurs distinctes de VOTER_NAME.
  • Filtrez voter_df pour que VOTER_NAME ait une longueur de 1 à 20 caractères.
  • Excluez de voter_df les lignes où VOTER_NAME contient un _.
  • Affichez de nouveau les valeurs distinctes de VOTER_NAME.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Show the distinct VOTER_NAME entries
voter_df.select(____).distinct().show(40, truncate=False)

# Filter voter_df where the VOTER_NAME is 1-20 characters in length
voter_df = ____('length(VOTER_NAME) > 0 and length(VOTER_NAME) < 20')

# Filter out voter_df where the VOTER_NAME contains an underscore
voter_df = voter_df.filter(~ F.col('VOTER_NAME').____)

# Show the distinct VOTER_NAME entries again
voter_df.____(____).____().____(40, truncate=False)
Modifier et exécuter le code