Commentaarregels verwijderen
Je baas wil dat je complexe parsing uitvoert op een nieuwe gegevensset. De data bevat annotaties voor de ImageNet-gegevensset, met de focus op hondenrassen en het herkennen daarvan in afbeeldingen. Voordat je echt kunt analyseren, moet je eerst allerlei ongeldige of onjuiste data opschonen. De algemene structuur van het document is onbekend, dus je wilt de rijen in één kolom importeren om snel te kunnen analyseren.
Begin met het verwijderen van alle commentaarregels in de gegevensset.
De spark-context en het basis-CSV-bestand (annotations.csv.gz) zijn beschikbaar. De functie col kun je ook gebruiken.
Deze oefening maakt deel uit van de cursus
Data opschonen met PySpark
Oefeninstructies
- Importeer het bestand
annotations.csv.gzin een DataFrame en tel het aantal rijen. Geef het scheidingsteken | op. - Vraag het aantal rijen op dat begint met #.
- Importeer het bestand opnieuw in een nieuw DataFrame, maar geef het commentaarteken op in de options om commentaarregels te verwijderen.
- Tel het nieuwe DataFrame en controleer of het verschil is zoals verwacht.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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" % (____, ____, ____))