Filtrowanie zawartości kolumn w Pythonie
Wiesz już, jak wykonywać różne operacje na kolumnach DataFrame – czas zastosować tę wiedzę na prawdziwym zbiorze danych. DataFrame voter_df zawiera informacje o radnych miejskich Dallas z ostatnich kilku lat. Ten skrócony DataFrame przechowuje datę głosowania oraz imię, nazwisko i stanowisko radnego. Twój menedżer poprosił cię o oczyszczenie tych danych, aby można je było później wykorzystać w raportach. Głównym zadaniem jest usunięcie pustych wpisów oraz nieprawidłowych znaków, a następnie wyodrębnienie konkretnych radnych, których dane można zweryfikować.
To jeden z pierwszych kroków w czyszczeniu danych – usunięcie wszystkiego, co wyraźnie odbiega od oczekiwanego formatu. Przyjrzyj się oryginalnym danym i zwróć uwagę, co wygląda podejrzanie w kolumnie VOTER_NAME.
Biblioteka pyspark.sql.functions jest już zaimportowana pod aliasem F.
To ćwiczenie jest częścią kursu
Czyszczenie danych w PySpark
Instrukcje do ćwiczenia
- Wyświetl unikalne wartości w kolumnie
VOTER_NAME. - Przefiltruj
voter_dftak, abyVOTER_NAMEmiał od 1 do 20 znaków. - Usuń z
voter_dfwiersze, w którychVOTER_NAMEzawiera znak_. - Wyświetl ponownie unikalne wartości w kolumnie
VOTER_NAME.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)