Filtern von Spalteninhalten mit Python
Du hast bereits verschiedene Operationen für DataFrame-Spalten kennengelernt - jetzt kannst du einen echten Datensatz ändern. Der DataFrame voter_df
enthält Informationen zu den Wählern im Stadtrat von Dallas aus den letzten Jahren. Dieser verkürzte DataFrame enthält das Datum der Stimmabgabe sowie den Namen und die Position des Wählers. Dein Manager hat dich gebeten, diese Daten zu bereinigen, damit sie später in einige gewünschte Berichte integriert werden können. Die Hauptaufgabe besteht darin, alle Null-Einträge oder ungeraden Zeichen zu entfernen und eine bestimmte Gruppe von Wählern zurückzugeben, deren Informationen du überprüfen kannst.
Dies ist oft einer der ersten Schritte bei der Datenbereinigung - das Entfernen von Dingen, die offensichtlich nicht dem Format entsprechen. Sieh dir bei diesem Datensatz die Originaldaten an und prüfe, was in der Spalte VOTER_NAME
fehl am Platz aussieht.
Die Bibliothek pyspark.sql.functions
ist bereits unter dem Alias F
importiert.
Diese Übung ist Teil des Kurses
Daten bereinigen mit PySpark
Anleitung zur Übung
- Zeige die verschiedenen
VOTER_NAME
Einträge. - Filter
voter_df
, bei demVOTER_NAME
1-20 Zeichen lang ist. - Filtere
voter_df
heraus, wennVOTER_NAME
ein_
enthält. - Zeige die verschiedenen
VOTER_NAME
Einträge erneut an.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# 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)