Odstranění neplatných řádků
Teď, když jsi úspěšně odstranil/a řádky s komentáři, dostaneš informace o obecném formátu dat. DataFrame by měl obsahovat minimálně 5 sloupců oddělených tabulátorem. Pamatuj, že původní DataFrame má pouze jeden sloupec, takže data bude potřeba rozdělit podle znaku tabulátoru (\t).
DataFrame annotations_df je již k dispozici s odstraněnými řádky komentářů. Knihovna spark.sql.functions je dostupná pod aliasem F. Počáteční počet řádků v DataFrame je uložen v proměnné initial_count.
Toto cvičení je součástí kurzu
Cleaning Data with PySpark
Pokyny k cvičení
- Vytvoř novou proměnnou
tmp_fieldsrozdělením sloupce'_c0'z DataFrameannotations_dfpodle znaku tabulátoru. - Přidej do DataFrame
annotations_dfnový sloupec'colcount'představující počet polí definovaných v předchozím kroku. - Odfiltruj z DataFrame
annotations_dfvšechny řádky, které obsahují méně než 5 polí. - Spočítej počet řádků v DataFrame a porovnej ho s hodnotou
initial_count.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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))