Ongeldige rijen verwijderen
Nu je de commentaarregels hebt verwijderd, heb je wat informatie gekregen over het algemene formaat van de data. Er moeten minimaal 5 met tabs gescheiden kolommen in de DataFrame staan. Onthoud dat je oorspronkelijke DataFrame maar één kolom heeft, dus je moet de data splitsen op het tab-teken (\t).
De DataFrame annotations_df is al beschikbaar, met de commentaarregels verwijderd. De bibliotheek spark.sql.functions is beschikbaar onder de alias F. Het oorspronkelijke aantal rijen in de DataFrame is opgeslagen in de variabele initial_count.
Deze oefening maakt deel uit van de cursus
Data opschonen met PySpark
Oefeninstructies
- Maak een nieuwe variabele
tmp_fieldsdoor de kolom'_c0'van de DataFrameannotations_dfte splitsen op het tab-teken. - Maak een nieuwe kolom in
annotations_dfmet de naam'colcount'die het aantal velden uit de vorige stap voorstelt. - Filter alle rijen uit
annotations_dfmet minder dan 5 velden. - Tel het aantal rijen in de DataFrame en vergelijk dit met
initial_count.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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))