Začněte nyníZačněte zdarma

Odstranění řádků s komentáři

Tvůj nadřízený by rád, abys provedl/a složitější parsování nové datové sady. Data obsahují anotace pro datovou sadu ImageNet, konkrétně zaměřené na psí plemena a jejich rozpoznávání na snímcích. Než bude možné provést jakoukoli analýzu, je potřeba vyčistit několik typů neplatných nebo chybných dat. Celkové schéma dokumentu není známé, takže řádky naimportuješ do jediného sloupce, což umožní rychlou analýzu.

Nejdřív je potřeba odstranit všechny řádky s komentáři.

K dispozici máš kontext spark a základní CSV soubor (annotations.csv.gz). Funkce col je také připravena k použití.

Toto cvičení je součástí kurzu

Cleaning Data with PySpark

Zobrazit kurz

Pokyny k cvičení

  • Naimportuj soubor annotations.csv.gz do DataFrame a zjisti počet řádků. Jako oddělovač zadej znak |.
  • Zjisti, kolik řádků začíná znakem #.
  • Naimportuj soubor znovu do nového DataFrame, tentokrát v možnostech zadej znak komentáře, aby se komentované řádky odstranily.
  • Spočítej řádky nového DataFrame a ověř, že rozdíl odpovídá očekávání.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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" % (____, ____, ____))
Upravit a spustit kód