Filtrer le contenu d'une colonne avec Python
Vous avez étudié l'utilisation de diverses opérations sur les colonnes d'un DataFrame - vous pouvez maintenant modifier un véritable ensemble de données. Le DataFrame voter_df
contient des informations sur les électeurs du conseil municipal de Dallas des dernières années. Ce DataFrame tronqué contient la date du vote ainsi que le nom et la fonction de l'électeur. Votre responsable vous a demandé de nettoyer ces données afin qu'elles puissent être intégrées ultérieurement dans certains rapports souhaités. La tâche principale consiste à supprimer les entrées nulles ou les caractères bizarres et à renvoyer un ensemble spécifique d'électeurs pour que vous puissiez valider leurs informations.
Il s'agit souvent de l'une des premières étapes du nettoyage des données, qui consiste à supprimer tout ce qui est manifestement en dehors du format. Pour cet ensemble de données, assurez-vous de regarder les données originales et de voir ce qui ne semble pas être à sa place dans la colonne VOTER_NAME
.
La bibliothèque pyspark.sql.functions
est déjà importée sous l'alias F
.
Cet exercice fait partie du cours
Nettoyer des données avec PySpark
Instructions
- Affichez les entrées distinctes de
VOTER_NAME
. - Filtrez
voter_df
où leVOTER_NAME
a une longueur de 1 à 20 caractères. - Filtrez les
voter_df
dont leVOTER_NAME
contient un_
. - Montrez à nouveau les entrées distinctes de
VOTER_NAME
.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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)