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
Freigeben: 2024-12-14 08:36:16
Original
329 Leute haben es durchsucht

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'])
    Nach dem Login kopieren
  2. Erstellen eine boolesche Maske unter Verwendung von Vergleichsoperatoren mit dem Start- und Enddatum:

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

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

Methode 2: DatetimeIndex

  1. Datumsspalte als Index festlegen:

    df = df.set_index(['date'])
    Nach dem Login kopieren
  2. Datenrahmen anhand des Datums aufteilen Bereiche:

    df.loc[start_date:end_date]
    Nach dem Login kopieren

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]
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage