Deinen Pandas-Import anpassen
Das pandas
-Paket eignet sich hervorragend für viele der Probleme, denen du
beim Importieren von Daten als Data Scientist begegnen wirst, wie z. B. Kommentare,
die in Flat Files vorkommen, leere Zeilen und fehlende Werte (NA
oder NaN
). Zum Abschluss dieses Kapitels importierst du eine beschädigte
Kopie des Titanic-Datensatzes titanic_corrupt.txt
, der Kommentare nach dem Zeichen '#'
enthält und tabulatorgetrennt ist.
Die wichtigsten Argumente für pd.read_csv()
sind:
sep
legt das erwartete Trennzeichen fest.Nutze
','
für kommagetrennt.Nutze
'\t'
für tabulatorgetrennt.
comment
nimmt Zeichen entgegen, nach denen Kommentare in der Datei vorkommen, und gibt an, dass jeder Text, der mit diesen Zeichen beginnt, ignoriert werden soll.na_values
nimmt eine Liste von Strings entgegen, die alsNA
/NaN
identifiziert werden können. Standardmäßig werden einige Werte bereits alsNA
/NaN
erkannt. Wenn du dieses Argument angibst, werden zusätzliche Werte geliefert.
Diese Übung ist Teil des Kurses
Einführung in das Importieren von Daten in Python
Anleitung zur Übung
Vervollständige die Argumente von
pd.read_csv()
, umtitanic_corrupt.txt
mit Pandas korrekt zu importieren:sep
legt das zu verwendende Trennzeichen fest und funktioniert genauso wie dasdelimiter
-Argument vonnp.loadtxt()
. Beachte, dass die Datei, die du importierst, tabulatorgetrennt ist.comment
nimmt die Zeichen auf, nach denen Kommentare in der Datei vorkommen, in diesem Fall ist das'#'
.na_values
nimmt eine Liste von Strings auf, die alsNA
/NaN
behandelt werden sollen, in diesem Fall den String'Nothing'
.
Führe den Rest des Codes aus, um den Kopf des resultierenden DataFrame auszugeben und das Histogramm des Alters (
'Age'
) der Passagiere an Bord der Titanic zu visualisieren.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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()