Importare tipi di dato diversi
Il file seaslug.txt
- contiene un'intestazione di testo, formata da stringhe
- è separato da tabulazioni.
Questi dati rappresentano la percentuale di larve di lumaca di mare che hanno completato la metamorfosi in un certo intervallo di tempo. Puoi leggere di più qui.
A causa dell'intestazione, se provassi a importarlo così com'è usando
np.loadtxt(), Python genererebbe un ValueError e ti direbbe
che could not convert string to float. Ci sono
due modi per gestire la cosa: innanzitutto, puoi impostare l'argomento del tipo di dato
dtype uguale a str (stringa).
In alternativa, puoi saltare la prima riga come abbiamo visto in precedenza,
utilizzando l'argomento skiprows.
Questo esercizio fa parte del corso
Introduzione all'importazione dei dati in Python
Istruzioni dell'esercizio
- Completa la prima chiamata a
np.loadtxt()passandofilecome primo argomento. - Esegui
print(data[0])per stampare il primo elemento didata. - Completa la seconda chiamata a
np.loadtxt(). Ilfileche stai importando è separato da tabulazioni, il tipo di dato èfloate vuoi saltare la prima riga. - Stampa il decimo elemento di
data_floatcompletando il comandoprint(). Lasciati guidare dalla precedente chiamata aprint(). - Esegui il resto del codice per visualizzare i dati.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Assign filename: file
file = 'seaslug.txt'
# Import file: data
data = np.loadtxt(____, delimiter='\t', dtype=str)
# Print the first element of data
print(data[0])
# Import file as floats and skip the first row: data_float
data_float = np.loadtxt(____, delimiter='____', dtype=____, skiprows=____)
# Print the 10th element of data_float
print(____)
# Plot a scatterplot of the data
plt.scatter(data_float[:, 0], data_float[:, 1])
plt.xlabel('time (min.)')
plt.ylabel('percentage of larvae')
plt.show()