Pandas: so wählen sie dataframe-zeilen nach zeitstempel aus
Sie können die folgende grundlegende Syntax verwenden, um Zeilen zwischen zwei Zeitstempeln in einem Pandas-DataFrame auszuwählen:
df[(df[' tstamp '] > ' 2022-10-25 04:30:00 ') & (df[' tstamp '] < ' 2022-10-27 11:00:00 ')]
Bei dieser Syntax wird davon ausgegangen, dass tstamp bereits über einen datetime-Typ verfügt.
Wenn nicht, können Sie die folgende Syntax verwenden, um sie in eine Datums-/Uhrzeitspalte zu konvertieren:
df[' tstamp '] = pd. to_datetime (df[' tstamp '])
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: Pandas DataFrame-Zeilen nach Zeitstempel auswählen
Angenommen, wir haben den folgenden Pandas-DataFrame, der Informationen über Verkäufe in einem Einzelhandelsgeschäft enthält:
import pandas as pd #createDataFrame df = pd. DataFrame ({' tstamp ': ['2022-10-25 04:00:00', '2022-10-25 11:55:12', '2022-10-26 02:00:00', '2022-10-27 10:30:00', '2022-10-27 14:25:00', '2022-10-28 01:15:27'], ' sales ': [18, 22, 19, 14, 14, 11]}) #view DataFrame print (df) tstamp sales 0 2022-10-25 04:00:00 18 1 2022-10-25 11:55:12 22 2 2022-10-26 02:00:00 19 3 2022-10-27 10:30:00 14 4 2022-10-27 14:25:00 14 5 2022-10-28 01:15:27 11
Nehmen wir an, wir möchten nur die Zeilen zwischen den folgenden beiden Zeitstempeln auswählen:
- 25.10.2022 04:30:00
- 27.10.2022 11:00:00
Wir können dazu die folgende Syntax verwenden:
#convert timestamp column to datetime dtype df[' tstamp '] = pd. to_datetime (df[' tstamp ']) #select rows between two timestamps df[(df[' tstamp '] > ' 2022-10-25 04:30:00 ') & (df[' tstamp '] < ' 2022-10-27 11:00:00 ')] tstamp sales 1 2022-10-25 11:55:12 22 2 2022-10-26 02:00:00 19 3 2022-10-27 10:30:00 14
Beachten Sie, dass nur die Zeilen zwischen den beiden von uns angegebenen Zeitstempeln ausgewählt werden.
Beachten Sie außerdem, dass Sie Zeilen nach Zeitstempel auswählen können, indem Sie nur einen Datumswert verwenden.
Beispielsweise könnten wir den folgenden Code verwenden, um alle Zeilen mit einem Zeitstempel größer als 27.10.2022 auszuwählen:
#convert timestamp column to datetime dtype df[' tstamp '] = pd. to_datetime (df[' tstamp ']) #select rows with timestamp after 2022-10-27 df[df[' tstamp '] > ' 2022-10-27 '] tstamp sales 3 2022-10-27 10:30:00 14 4 2022-10-27 14:25:00 14 5 2022-10-28 01:15:27 11
Beachten Sie, dass nur Zeilen ausgewählt werden, deren Wert in der tsamp- Spalte nach dem 27.10.2022 liegt.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in Pandas ausführen:
So konvertieren Sie DateTime in Pandas in ein Datum
So konvertieren Sie Spalten in Pandas in DateTime
So sortieren Sie einen Pandas DataFrame nach Datum