IniziaInizia gratis

Personalizzare l'import con pandas

Il pacchetto pandas è ottimo per gestire molti dei problemi che potresti incontrare quando importi dati come data scientist, come commenti presenti nei flat file, righe vuote e valori mancanti (NA o NaN). Per chiudere questo capitolo, importerai una copia corrotta del dataset Titanic titanic_corrupt.txt, che contiene commenti dopo il carattere '#' ed è delimitata da tabulazioni.

Gli argomenti principali di pd.read_csv() includono:

  • sep imposta il delimitatore previsto.
    • Puoi usare ',' per i file separati da virgola.
    • Puoi usare '\t' per i file separati da tabulazioni.
  • comment indica i caratteri dopo i quali compaiono i commenti nel file, specificando che qualsiasi testo che inizia con questi caratteri deve essere ignorato.
  • na_values accetta un elenco di stringhe da identificare come NA/NaN. Per impostazione predefinita, alcuni valori sono già riconosciuti come NA/NaN. Fornendo questo argomento aggiungerai ulteriori valori.

Questo esercizio fa parte del corso

Introduzione all'importazione dei dati in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Completa gli argomenti di pd.read_csv() per importare correttamente titanic_corrupt.txt con pandas:
    • sep imposta il delimitatore da usare e funziona come l'argomento delimiter di np.loadtxt(). Nota che il file che stai importando è separato da tabulazioni.
    • comment indica i caratteri dopo i quali compaiono i commenti nel file, che in questo caso è '#'.
    • na_values accetta un elenco di stringhe da trattare come NA/NaN, in questo caso la stringa 'Nothing'.
  • Esegui il resto del codice per stampare la testa del DataFrame risultante e tracciare l'istogramma dell''Age' dei passeggeri a bordo del Titanic.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Import matplotlib.pyplot as plt
import matplotlib.pyplot as plt

# Assign filename: file
file = 'titanic_corrupt.txt'

# Import file: data
data = pd.read_csv(file, sep='____', comment='____', na_values=[____])

# Print the head of the DataFrame
print(data.head())

# Plot 'Age' variable in a histogram
pd.DataFrame.hist(data[['Age']])
plt.xlabel('Age (years)')
plt.ylabel('count')
plt.show()
Modifica ed esegui il codice