Kolominhoud filteren met Python
Je hebt verschillende bewerkingen op DataFrame-kolommen bekeken — nu kun je een echte gegevensset aanpassen. De DataFrame voter_df bevat informatie over de stemmers in de gemeenteraad van Dallas van de afgelopen jaren. Deze ingekorte DataFrame bevat de datum van de uitgebrachte stem en de naam en functie van de stemmer. Je manager heeft je gevraagd deze data op te schonen zodat die later in bepaalde rapporten kan worden geïntegreerd. De hoofdtaak is om null-waarden en vreemde tekens te verwijderen en een specifieke set stemmers terug te geven waarvan je hun informatie kunt valideren.
Dit is vaak een van de eerste stappen in datacleaning: alles verwijderen wat duidelijk buiten het gewenste formaat valt. Kijk voor deze gegevensset goed naar de oorspronkelijke data en let op wat er niet klopt in de kolom VOTER_NAME.
De bibliotheek pyspark.sql.functions is al geïmporteerd onder het alias F.
Deze oefening maakt deel uit van de cursus
Data opschonen met PySpark
Oefeninstructies
- Toon de unieke waarden van
VOTER_NAME. - Filter
voter_dfwaarVOTER_NAME1–20 tekens lang is. - Filter
voter_dfuit waarVOTER_NAMEeen_bevat. - Toon opnieuw de unieke waarden van
VOTER_NAME.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)