ÎncepețiÎncepe gratuit

Eliminarea rândurilor invalide

Acum că ai eliminat cu succes rândurile cu comentarii, ai primit câteva informații despre formatul general al datelor. DataFrame-ul ar trebui să conțină cel puțin 5 coloane separate prin tab. Reține că DataFrame-ul original are o singură coloană, deci va trebui să împarți datele după caracterele tab (\t).

DataFrame-ul annotations_df este deja disponibil, cu rândurile cu comentarii eliminate. Biblioteca spark.sql.functions este disponibilă sub aliasul F. Numărul inițial de rânduri din DataFrame este stocat în variabila initial_count.

Acest exercițiu face parte din cursul

Curățarea datelor cu PySpark

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează o nouă variabilă tmp_fields folosind coloana '_c0' din DataFrame-ul annotations_df, împărțind-o după caracterul tab.
  • Adaugă o nouă coloană în annotations_df numită 'colcount', care să reprezinte numărul de câmpuri definit la pasul anterior.
  • Filtrează din annotations_df toate rândurile care conțin mai puțin de 5 câmpuri.
  • Numără rândurile din DataFrame și compară rezultatul cu initial_count.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Split _c0 on the tab character and store the list in a variable
tmp_fields = ____(annotations_df['_c0'], ____)

# Create the colcount column on the DataFrame
annotations_df = annotations_df.____('____', ____(____))

# Remove any rows containing fewer than 5 fields
annotations_df_filtered = annotations_df.____(~ (____))

# Count the number of rows
final_count = ____
print("Initial count: %d\nFinal count: %d" % (initial_count, final_count))
Editează și rulează codul