Ungültige Zeilen entfernen
Nachdem du nun erfolgreich die kommentierten Zeilen entfernt hast, hast du einige Informationen über das allgemeine Format der Daten erhalten. Der DataFrame sollte mindestens 5 tabulatorgetrennte Spalten enthalten. Denke daran, dass dein ursprünglicher DataFrame nur eine einzige Spalte hat, also musst du die Daten an den Tabulatorzeichen (\t
) aufteilen.
Der DataFrame annotations_df
ist bereits verfügbar, wobei die kommentierten Zeilen entfernt wurden. Die Bibliothek spark.sql.functions
ist unter dem Alias F
verfügbar. Die anfängliche Anzahl der im DataFrame verfügbaren Zeilen wird in der Variablen initial_count
gespeichert.
Diese Übung ist Teil des Kurses
Daten bereinigen mit PySpark
Anleitung zur Übung
- Erstelle eine neue Variable
tmp_fields
unter Verwendung der DataFrame-Spalteannotations_df
'_c0'
und teile sie am Tabulatorzeichen. - Erstelle eine neue Spalte in
annotations_df
mit dem Namen'colcount'
, die die Anzahl der im vorherigen Schritt definierten Felder darstellt. - Filtere alle Zeilen aus
annotations_df
heraus, die weniger als 5 Felder enthalten. - Zähle die Anzahl der Zeilen im DataFrame und vergleiche sie mit der
initial_count
.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# 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))