Ta bort ogiltiga rader
Nu när du har tagit bort de kommenterade raderna har du fått information om dataformatet. Det ska finnas minst 5 tabbseparerade kolumner i DataFrame. Kom ihåg att din ursprungliga DataFrame bara har en enda kolumn, så du behöver dela upp data på tabb-tecknet (\t).
DataFrame annotations_df är redan tillgänglig med de kommenterade raderna borttagna. Biblioteket spark.sql.functions är tillgängligt under aliaset F. Det ursprungliga antalet rader i DataFrame är lagrat i variabeln initial_count.
Den här övningen är en del av kursen
Datarensning med PySpark
Övningsinstruktioner
- Skapa en ny variabel
tmp_fieldsmed hjälp av kolumnen'_c0'i DataFrameannotations_df, uppdelad på tabb-tecknet. - Skapa en ny kolumn i
annotations_dfmed namnet'colcount'som representerar antalet fält som definierades i föregående steg. - Filtrera bort rader från
annotations_dfsom innehåller färre än 5 fält. - Räkna antalet rader i DataFrame och jämför med
initial_count.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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))