Filtrera kolumninnehåll med Python
Du har arbetat med olika operationer på DataFrame-kolumner – nu är det dags att tillämpa dem på ett riktigt dataset. DataFramen voter_df innehåller information om röstande ledamöter i Dallas stadsråd under de senaste åren. Denna förenklade DataFrame innehåller datum för omröstningen samt namn och befattning för varje ledamot. Din chef har bett dig rensa dessa data så att de senare kan integreras i olika rapporter. Huvuduppgiften är att ta bort null-värden och konstiga tecken, samt returnera en specifik grupp av röstande vars information du kan verifiera.
Detta är ofta ett av de första stegen i datarensning – att filtrera bort allt som uppenbart avviker från det förväntade formatet. Titta på originaldata och se vad som verkar felaktigt i kolumnen VOTER_NAME.
Biblioteket pyspark.sql.functions är redan importerat med aliaset F.
Den här övningen är en del av kursen
Datarensning med PySpark
Övningsinstruktioner
- Visa de unika värdena i
VOTER_NAME. - Filtrera
voter_dfså att enbart rader därVOTER_NAMEär mellan 1 och 20 tecken långt behålls. - Filtrera bort rader i
voter_dfdärVOTER_NAMEinnehåller ett_. - Visa de unika värdena i
VOTER_NAMEigen.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)