Pandas Time Series Index Slicing - Eine Liste von Tagen aus einem DF mit minütlichen Daten herausschneiden
Verfasst: Sonntag 17. Januar 2021, 13:01
Hallo,
ich habe eine Frage zu Pandas betreffend indexing/slicing mit time series Daten.
Der time series index ist im Format "2019-12-31 16:14:00", der Dataframe enthält minütliche Daten von jedem Tag.
Ich möchte eine Reihe von bestimmten Tagen aus dem Dataframe herausschneiden und für eine Analyse verwenden.
mit slice = df.loc["2020-12-31"] funktioniert dies perfekt für einen einzelnen Tag, slice enthält alle minütlichen Daten des 31.12.2020.
Auch slice2 = df.loc["2019-12-31":"2019-12-30"] scheint zu funktionieren und liefert mir in slice2 alle Reihen der beiden Tage.
Was ich jedoch eigentlich brauche ist slice3 = df.loc["2020-12-31", 2020-12-28", "2020-12-24", "2020-11-13"] also eine Liste mit vielen unabhängigen Tagen.
Dies scheint in Pandas nicht zu funktionieren und meine Frage ist ob es einen Trick gibt um das gleiche Ergebnis zu erreichen?
Es funktioniert mit vollständigen time stamps:
slice4 = df.loc[["2019-12-31 10:00:00", "2019-12-11 12:09:00", "2019-12-13 12:11:00"]] aber das hilft mir leider nicht weiter, dann würde ich ja für jeden Tag 1440 einzelne Timestamps eingeben müssen (wobei das im Notfall sogar mit der range Funktion machbar wäre?).
Falls es keine Möglichkeit gibt Pandas da irgendwie auszutricksen bin ich auch sehr Dankbar für Vorschläge wie man eine For-Schleife gestalten könnte die das gleiche Ergebnis erzielen kann, damit kenne ich mich leider noch nicht so gut aus.
Achso, insgesamt geht es um etwa 100 Tage die ich aus dem Dataframe brauche möchte falls das relevant ist.
Vielen Dank schonmal im Voraus!
ich habe eine Frage zu Pandas betreffend indexing/slicing mit time series Daten.
Der time series index ist im Format "2019-12-31 16:14:00", der Dataframe enthält minütliche Daten von jedem Tag.
Ich möchte eine Reihe von bestimmten Tagen aus dem Dataframe herausschneiden und für eine Analyse verwenden.
mit slice = df.loc["2020-12-31"] funktioniert dies perfekt für einen einzelnen Tag, slice enthält alle minütlichen Daten des 31.12.2020.
Auch slice2 = df.loc["2019-12-31":"2019-12-30"] scheint zu funktionieren und liefert mir in slice2 alle Reihen der beiden Tage.
Was ich jedoch eigentlich brauche ist slice3 = df.loc["2020-12-31", 2020-12-28", "2020-12-24", "2020-11-13"] also eine Liste mit vielen unabhängigen Tagen.
Dies scheint in Pandas nicht zu funktionieren und meine Frage ist ob es einen Trick gibt um das gleiche Ergebnis zu erreichen?
Es funktioniert mit vollständigen time stamps:
slice4 = df.loc[["2019-12-31 10:00:00", "2019-12-11 12:09:00", "2019-12-13 12:11:00"]] aber das hilft mir leider nicht weiter, dann würde ich ja für jeden Tag 1440 einzelne Timestamps eingeben müssen (wobei das im Notfall sogar mit der range Funktion machbar wäre?).
Falls es keine Möglichkeit gibt Pandas da irgendwie auszutricksen bin ich auch sehr Dankbar für Vorschläge wie man eine For-Schleife gestalten könnte die das gleiche Ergebnis erzielen kann, damit kenne ich mich leider noch nicht so gut aus.
Achso, insgesamt geht es um etwa 100 Tage die ich aus dem Dataframe brauche möchte falls das relevant ist.
Vielen Dank schonmal im Voraus!