Heim >Backend-Entwicklung >Python-Tutorial >Wie wählt man in Pandas effizient DataFrame-Zeilen innerhalb eines bestimmten Datumsbereichs aus?

Wie wählt man in Pandas effizient DataFrame-Zeilen innerhalb eines bestimmten Datumsbereichs aus?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-14 08:36:16331Durchsuche

How to Efficiently Select DataFrame Rows Within a Specific Date Range in Pandas?

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

  1. Stellen Sie sicher, dass die Datumsspalte eine Serie mit dtype ist datetime64[ns]:

    df['date'] = pd.to_datetime(df['date'])
  2. Erstellen eine boolesche Maske unter Verwendung von Vergleichsoperatoren mit dem Start- und Enddatum:

    mask = (df['date'] > start_date) & (df['date'] <= end_date)
  3. Wählen Sie den Unterdatenrahmen mithilfe der Maske aus:

    df.loc[mask]
  4. Optional , weisen Sie den Sub-DataFrame df erneut zu.

Methode 2: DatetimeIndex

  1. Datumsspalte als Index festlegen:

    df = df.set_index(['date'])
  2. 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

  • Die boolesche Maskenmethode ist flexibler und ermöglicht komplexere Datumsvergleiche.
  • Die DatetimeIndex-Methode ist schneller für sich wiederholende Datumsbereichsauswahlen.
  • Verwenden von parse_dates in pd.read_csv kann die Konvertierung der Datumsspalte in datetime64s ersparen.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn