Eliminarea rândurilor comentate
Șeful tău dorește să efectuezi o procesare complexă pe un nou set de date. Datele reprezintă informații de adnotare pentru setul de date ImageNet, cu accent pe rasele de câini și identificarea lor în imagini. Înainte de orice analiză propriu-zisă, va trebui să elimini mai multe componente cu date invalide sau incorecte. Schema generală a documentului nu este cunoscută, așa că vrei să imporți rândurile într-o singură coloană, pentru o analiză rapidă.
Ca prim pas, trebuie să elimini toate rândurile comentate din set de date.
Contextul spark și fișierul CSV de bază (annotations.csv.gz) sunt disponibile pentru lucru. Funcția col este de asemenea disponibilă.
Acest exercițiu face parte din cursul
Curățarea datelor cu PySpark
Instrucțiuni pentru exercițiu
- Importă fișierul
annotations.csv.gzîntr-un DataFrame și numără rândurile. Specifică | drept caracter separator. - Interoghează datele pentru a afla câte rânduri încep cu #.
- Importă fișierul din nou într-un DataFrame nou, specificând de data aceasta caracterul de comentariu în opțiuni, pentru a elimina rândurile comentate.
- Numără rândurile noului DataFrame și verifică dacă diferența este cea așteptată.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Import the file to a DataFrame and perform a row count
annotations_df = spark.read.____('____', sep=____)
full_count = annotations_df.____
# Count the number of rows beginning with '#'
comment_count = annotations_df.____(col('_c0').____('#')).count()
# Import the file to a new DataFrame, without commented rows
no_comments_df = ____.____.____('____', ____=____, comment='____')
# Count the new DataFrame and verify the difference is as expected
no_comments_count = no_comments_df.count()
print("Full count: %d\nComment count: %d\nRemaining count: %d" % (____, ____, ____))