Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Maak de eerste aanroep van np.loadtxt() af door file als eerste argument door te geven.
  • Voer print(data[0]) uit om het eerste element van data te printen.
  • Maak de tweede aanroep van np.loadtxt() af. Het file dat je importeert is tab-gescheiden, het datatype is float, en je wilt de eerste rij overslaan.
  • Print het 10e element van data_float door het print()-commando aan te vullen. Laat je leiden door de vorige print()-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()
Code bewerken en uitvoeren