Slicing mit Zeitreihen
Slicing ist bei Zeitreihen besonders nützlich, da man häufig Daten innerhalb eines Datumsbereichs filtern möchte. Zu diesem Zweck kannst du die Spalte date
zum Index hinzufügen und dann mit .loc[]
die gewünschte Teilmenge auswählen. Wichtig ist, dass du deine Datumsangaben im ISO 8601-Format machst, also "yyyy-mm-dd"
für Jahr-Monat-Tag, "yyyy-mm"
für Jahr-Monat und "yyyy"
für Jahr.
Du weißt aus Kapitel 1, dass du mehrere boolesche Bedingungen mit logischen Operatoren wie &
kombinieren kannst. Um dies innerhalb einer einzigen Codezeile zu tun, musst du jede Bedingung in ()
einschließen.
pandas
ist als pd
geladen und temperatures
ist ohne Index bereits verfügbar.
Diese Übung ist Teil des Kurses
Datenbearbeitung mit pandas
Anleitung zur Übung
- Verwende boolesche Bedingungen (also nicht
.isin()
oder.loc[]
) und das vollständige Datum ("yyyy-mm-dd"
), um Zeilen vontemperatures
auszuwählen, in denen das Datum in der Spaltedate
im Jahr 2010 oder 2011 liegt, und gib die Ergebnisse aus. - Setze den Index von
temperatures
auf die Spaltedate
und sortiere ihn. - Wähle mit
.loc[]
Zeilen vontemperatures_ind
aus, die in den Jahren 2010 und 2011 liegen. - Wähle mit
.loc[]
Zeilen vontemperatures_ind
aus, die im Bereich von August 2010 bis Februar 2011 liegen.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Use Boolean conditions to subset temperatures for rows in 2010 and 2011
temperatures_bool = ____[(____ >= ____) & (____ <= ____)]
print(temperatures_bool)
# Set date as the index and sort the index
temperatures_ind = temperatures.____.____
# Use .loc[] to subset temperatures_ind for rows in 2010 and 2011
print(____)
# Use .loc[] to subset temperatures_ind for rows from Aug 2010 to Feb 2011
print(____)