Anpassa din pandas-import
Paketet pandas hanterar många av de problem du stöter på när du importerar data som datavetare – till exempel kommentarer i platta filer, tomma rader och saknade värden (NA eller NaN). Som avslutning på det här kapitlet ska du importera en skadad kopia av Titanic-datasetet, titanic_corrupt.txt, som innehåller kommentarer efter tecknet '#' och är tabbavgränsad.
Viktiga argument för pd.read_csv():
sepanger förväntad avgränsare.- Använd
','för kommaavgränsade filer. - Använd
'\t'för tabbavgränsade filer.
- Använd
commenttar emot tecken som markerar att resten av raden är en kommentar. All text som börjar med dessa tecken ignoreras.na_valuestar emot en lista med strängar som ska tolkas somNA/NaN. Vissa värden känns redan igen somNA/NaNsom standard – det här argumentet lägger till fler.
Den här övningen är en del av kursen
Introduktion till dataimport i Python
Övningsinstruktioner
- Fyll i argumenten för
pd.read_csv()för att importeratitanic_corrupt.txtkorrekt med pandas:sepanger avgränsaren och fungerar på samma sätt som argumentetdelimiterinp.loadtxt(). Notera att filen du importerar är tabbavgränsad.commenttar emot tecken som markerar kommentarer i filen – i det här fallet'#'.na_valuestar emot en lista med strängar som ska behandlas somNA/NaN, i det här fallet strängen'Nothing'.
- Kör resten av koden för att skriva ut början av den resulterande DataFrame:n och rita ett histogram över
'Age'för passagerarna ombord på Titanic.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()