Filtrarea conținutului coloanelor cu Python
Ai explorat diverse operații pe coloanele unui DataFrame – acum e momentul să lucrezi cu un set de date real. DataFrame-ul voter_df conține informații despre alegătorii din Consiliul Municipal Dallas din ultimii câțiva ani. Acest DataFrame restrâns include data votului, precum și numele și funcția fiecărui alegător. Managerul tău ți-a cerut să cureți aceste date pentru a putea fi integrate ulterior în anumite rapoarte. Primul pas constă în eliminarea intrărilor nule sau a caracterelor neobișnuite și în returnarea unui subset specific de alegători ale căror informații pot fi validate.
Acesta este adesea unul dintre primii pași în curățarea datelor – eliminarea oricărui element care iese în mod evident din tipar. Pentru acest set de date, analizează datele originale și identifică ce pare neobișnuit în coloana VOTER_NAME.
Biblioteca pyspark.sql.functions este deja importată sub aliasul F.
Acest exercițiu face parte din cursul
Curățarea datelor cu PySpark
Instrucțiuni pentru exercițiu
- Afișează intrările distincte din coloana
VOTER_NAME. - Filtrează
voter_dfastfel încâtVOTER_NAMEsă aibă între 1 și 20 de caractere. - Elimină din
voter_dfînregistrările în careVOTER_NAMEconține caracterul_. - Afișează din nou intrările distincte din coloana
VOTER_NAME.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)