Heim >Backend-Entwicklung >Python-Tutorial >Wie wählt man in Pandas effizient DataFrame-Zeilen innerhalb eines bestimmten Datumsbereichs aus?
DataFrame-Zeilen zwischen zwei Daten auswählen
Einführung
Bei der Arbeit mit Zeitreihendaten ist es häufig erforderlich, bestimmte Zeilen basierend auf Datumsbereichen auszuwählen. In diesem Artikel werden zwei Methoden untersucht, um dies in Pandas DataFrames zu erreichen.
Methode 1: Boolesche Maske
Stellen Sie sicher, dass die Datumsspalte eine Serie mit dtype ist datetime64[ns]:
df['date'] = pd.to_datetime(df['date'])
Erstellen eine boolesche Maske unter Verwendung von Vergleichsoperatoren mit dem Start- und Enddatum:
mask = (df['date'] > start_date) & (df['date'] <= end_date)
Wählen Sie den Unterdatenrahmen mithilfe der Maske aus:
df.loc[mask]
Methode 2: DatetimeIndex
Datumsspalte als Index festlegen:
df = df.set_index(['date'])
Datenrahmen anhand des Datums aufteilen Bereiche:
df.loc[start_date:end_date]
Beispiel
Betrachten Sie einen DataFrame mit einer Datumsspalte. Der folgende Code verwendet die boolesche Maskenmethode, um Zeilen zwischen „01.06.2000“ und „10.06.2000“ auszuwählen:
import pandas as pd df = pd.DataFrame({ 'date': pd.date_range('2000-1-1', periods=200, freq='D'), 'value': np.random.rand(200) }) mask = (df['date'] > '2000-06-01') & (df['date'] <= '2000-06-10') result_df = df[mask]
Das Ergebnis umfasst Zeilen vom 1. bis 10. Juni. 2000.
Vergleich
Das obige ist der detaillierte Inhalt vonWie wählt man in Pandas effizient DataFrame-Zeilen innerhalb eines bestimmten Datumsbereichs aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!