Verschillende datatype importeren
Het bestand seaslug.txt
- heeft een tekstheader, bestaande uit strings
- is tab-gescheiden.
Deze data bevat het percentage zeenaaktslaklarven dat in een bepaalde periode is gemetamorfoseerd. Lees hier meer hier.
Door de header krijg je een ValueError als je het bestand rechtstreeks probeert te importeren met
np.loadtxt(): Python meldt dan dat het could not convert string to float. Er zijn
twee manieren om dit op te lossen: ten eerste kun je het datatype-argument
dtype gelijk zetten aan str (voor string).
Of je slaat de eerste rij over, zoals we eerder hebben gezien,
met het argument skiprows.
Deze oefening maakt deel uit van de cursus
Introductie tot data importeren in Python
Oefeninstructies
- Maak de eerste aanroep van
np.loadtxt()af doorfileals eerste argument door te geven. - Voer
print(data[0])uit om het eerste element vandatate printen. - Maak de tweede aanroep van
np.loadtxt()af. Hetfiledat je importeert is tab-gescheiden, het datatype isfloat, en je wilt de eerste rij overslaan. - Print het 10e element van
data_floatdoor hetprint()-commando aan te vullen. Laat je leiden door de vorigeprint()-aanroep. - Voer de rest van de code uit om de data te visualiseren.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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()