Aan de slagGa gratis aan de slag

Je pandas-import aanpassen

Het pandas-pakket is uitstekend in het omgaan met veel van de problemen die je als data scientist tegenkomt bij het importeren van data, zoals commentaarregels in flat files, lege regels en ontbrekende waarden (NA of NaN). Ter afsluiting van dit hoofdstuk ga je een beschadigde kopie van de Titanic-gegevensset titanic_corrupt.txt importeren, die commentaar bevat na het teken '#', en tab-gescheiden is.

Belangrijke argumenten voor pd.read_csv() zijn onder andere:

  • sep stelt het verwachte scheidingsteken in.
    • Je kunt ',' gebruiken voor komma-gescheiden.
    • Je kunt '\t' gebruiken voor tab-gescheiden.
  • comment neemt tekens op waarna commentaar in het bestand voorkomt; alle tekst die met deze tekens begint, wordt genegeerd.
  • na_values neemt een lijst met strings die als NA/NaN moeten worden herkend. Standaard worden sommige waarden al als NA/NaN herkend. Met dit argument geef je extra waarden op.

Deze oefening maakt deel uit van de cursus

Introductie tot data importeren in Python

Cursus bekijken

Oefeninstructies

  • Vul de argumenten van pd.read_csv() aan om titanic_corrupt.txt correct te importeren met pandas:
    • sep stelt het te gebruiken scheidingsteken in en werkt hetzelfde als het argument delimiter van np.loadtxt(). Let op: het bestand dat je importeert is tab-gescheiden.
    • comment neemt tekens op waarna commentaar in het bestand voorkomt; in dit geval is dat '#'.
    • na_values neemt een lijst met strings die als NA/NaN worden behandeld; in dit geval de string 'Nothing'.
  • Voer de rest van de code uit om de kop van de resulterende DataFrame te printen en het histogram te plotten van de 'Age' van passagiers aan boord van de Titanic.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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()
Code bewerken en uitvoeren