Filtrare il contenuto di una colonna con Python
Hai visto come usare varie operazioni sulle colonne di un DataFrame: ora puoi modificare un dataset reale. Il DataFrame voter_df contiene informazioni sugli elettori del Dallas City Council degli ultimi anni. Questo DataFrame ridotto contiene la data del voto espresso e il nome e la posizione dell’elettore. Il tuo responsabile ti ha chiesto di ripulire questi dati così da poterli integrare in alcuni report. L’obiettivo principale è rimuovere eventuali valori nulli o caratteri strani e restituire un insieme specifico di elettori di cui puoi validare le informazioni.
Questa è spesso una delle prime fasi del data cleaning: rimuovere ciò che è chiaramente fuori formato. Per questo insieme di dati, assicurati di guardare i dati originali e individua ciò che è fuori posto nella colonna VOTER_NAME.
La libreria pyspark.sql.functions è già importata con l’alias F.
Questo esercizio fa parte del corso
Pulizia dei dati con PySpark
Istruzioni dell'esercizio
- Mostra i valori distinti di
VOTER_NAME. - Filtra
voter_dfdoveVOTER_NAMEha una lunghezza da 1 a 20 caratteri. - Escludi da
voter_dfi casi in cuiVOTER_NAMEcontiene un_. - Mostra di nuovo i valori distinti di
VOTER_NAME.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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)