Inizia subitoInizia gratis

Rimozione delle righe commentate

La tua/il tuo responsabile vuole che tu esegua un parsing complesso su un nuovo insieme di dati. I dati rappresentano annotazioni per il dataset ImageNet, ma concentrandosi specificamente sulle razze di cani e sulla loro identificazione nelle immagini. Prima di poter passare all'analisi vera e propria, devi ripulire varie componenti di dati non validi o errati. Lo schema generale del documento è sconosciuto, quindi vuoi importare le righe in una singola colonna per facilitare un'analisi rapida.

Per iniziare, devi rimuovere tutte le righe commentate nel dataset.

Il contesto spark e il file CSV di base (annotations.csv.gz) sono a tua disposizione. La funzione col è anch'essa disponibile.

Questo esercizio fa parte del corso

Pulizia dei dati con PySpark

Visualizza corso

Istruzioni dell'esercizio

  • Importa il file annotations.csv.gz in un DataFrame ed esegui un conteggio delle righe. Specifica come separatore il carattere |.
  • Interroga i dati per il numero di righe che iniziano con #.
  • Importa di nuovo il file in un nuovo DataFrame, ma specifica il carattere di commento nelle opzioni per rimuovere le righe commentate.
  • Conta le righe del nuovo DataFrame e verifica che la differenza sia quella attesa.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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" % (____, ____, ____))
Modifica ed esegui il codice