Zacznij terazZacznij za darmo

Usuwanie wierszy z komentarzami

Twój przełożony chce, abyś przeprowadził(a) złożone parsowanie nowego zbioru danych. Dane przedstawiają adnotacje do zbioru ImageNet, skupiając się konkretnie na rasach psów i ich rozpoznawaniu na zdjęciach. Zanim przejdziesz do właściwej analizy, musisz oczyścić dane z kilku typów nieprawidłowych lub błędnych wpisów. Ogólny schemat dokumentu nie jest znany, dlatego chcesz zaimportować wiersze do pojedynczej kolumny, co umożliwi szybką analizę.

Na początek usuń wszystkie wiersze z komentarzami ze zbioru danych.

Do dyspozycji masz kontekst spark oraz bazowy plik CSV (annotations.csv.gz). Dostępna jest również funkcja col.

To ćwiczenie jest częścią kursu

Czyszczenie danych w PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj plik annotations.csv.gz do DataFrame i wykonaj zliczenie wierszy. Jako separator użyj znaku |.
  • Sprawdź w danych, ile wierszy zaczyna się od znaku #.
  • Zaimportuj plik ponownie do nowego DataFrame, tym razem podając w opcjach znak komentarza, aby usunąć wszystkie wiersze z komentarzami.
  • Zlicz wiersze w nowym DataFrame i sprawdź, czy różnica jest zgodna z oczekiwaniami.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Import the file to a DataFrame and perform a row count
annotations_df = spark.read.____('____', sep=____)
full_count = annotations_df.____

# Count the number of rows beginning with '#'
comment_count = annotations_df.____(col('_c0').____('#')).count()

# Import the file to a new DataFrame, without commented rows
no_comments_df = ____.____.____('____', ____=____, comment='____')

# Count the new DataFrame and verify the difference is as expected
no_comments_count = no_comments_df.count()
print("Full count: %d\nComment count: %d\nRemaining count: %d" % (____, ____, ____))
Edytuj i uruchom kod