So vergleichen sie daten in pandas: mit beispielen
Sie können die folgenden Methoden verwenden, um Datumsangaben zwischen zwei Spalten in einem Pandas-DataFrame zu vergleichen:
Methode 1: Fügen Sie dem DataFrame eine neue Spalte hinzu, die den Datumsvergleich anzeigt
df[' met_due_date '] = df[' comp_date '] < df[' due_date ']
In diesem speziellen Beispiel wird eine neue Spalte namens „met_due_date“ hinzugefügt, die „True“ oder „False“ zurückgibt, je nachdem, ob das Datum in der Spalte „ comp_date “ vor dem Datum in der Spalte „ due_date “ liegt.
Methode 2: Filtern Sie den DataFrame basierend auf dem Datumsvergleich
df_met_due_date = df[df[' comp_date '] < df[' due_date ']]
In diesem speziellen Beispiel wird der DataFrame so gefiltert, dass nur Zeilen beibehalten werden, deren Datum in der Spalte „ comp_date“ vor dem Datum in der Spalte „ due_date“ liegt.
Die folgenden Beispiele zeigen, wie jede dieser Methoden in der Praxis mit dem folgenden Pandas DataFrame verwendet wird:
import pandas as pd #createDataFrame df = pd. DataFrame ({' task ': ['A', 'B', 'C', 'D'], ' due_date ': ['4-15-2022', '5-19-2022', '6-14-2022', '10-24-2022'], ' comp_date ': ['4-14-2022', '5-23-2022', '6-24-2022', '10-7-2022']}) #convert due_date and comp_date columns to datetime format df[[' due_date ', ' comp_date ']] = df[[' due_date ', ' comp_date ']]. apply (pd. to_datetime ) #view DataFrame print (df) task due_date comp_date 0 A 2022-04-15 2022-04-14 1 B 2022-05-19 2022-05-23 2 C 2022-06-14 2022-06-24 3 D 2022-10-24 2022-10-07
Beispiel 1: Fügen Sie dem DataFrame eine neue Spalte hinzu, die den Datumsvergleich anzeigt
Der folgende Code zeigt, wie eine neue Spalte mit dem Namen „met_due_date“ hinzugefügt wird, die „True“ oder „False“ zurückgibt, je nachdem, ob das Datum in der Spalte „ comp_date “ vor dem Datum in der Spalte „ due_date “ liegt.
import pandas as pd #create new column that shows if completion date is before due date df[' met_due_date '] = df[' comp_date '] < df[' due_date '] #view updated DataFrame print (df) task due_date comp_date met_due_date 0 A 2022-04-15 2022-04-14 True 1 B 2022-05-19 2022-05-23 False 2 C 2022-06-14 2022-06-24 False 3 D 2022-10-24 2022-10-07 True
Für jede Zeile im DataFrame gibt die neue Spalte „ met_due_date “ an, ob das Datum in der Spalte „ comp_date “ vor dem Datum in der Spalte „ due_date“ liegt.
Wir können beispielsweise sehen, dass Aufgabe A das Fälligkeitsdatum 15.04.2022 und das Abschlussdatum 14.04.2022 hatte.
Da das Abschlussdatum vor dem Fälligkeitsdatum lag, ist der Wert der Spalte met_due_date True.
Beispiel 2: Filtern Sie den DataFrame basierend auf dem Datumsvergleich
Der folgende Code zeigt, wie der DataFrame so gefiltert wird, dass er nur Zeilen enthält, deren Datum in der Spalte „ comp_date “ vor dem Datum in der Spalte „ due_date“ liegt.
import pandas as pd #filter for rows where completion date is before due date df_met_due_date = df[df[' comp_date '] < df[' due_date ']] #view results print (df_met_due_date) task due_date comp_date 0 A 2022-04-15 2022-04-14 3 D 2022-10-24 2022-10-07
Der neue DataFrame wurde so gefiltert, dass er nur Zeilen enthält, deren Datum in der Spalte „comp_date “ vor dem Datum in der Spalte „due_date“ liegt.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in Pandas ausgeführt werden:
So erstellen Sie einen Datumsbereich in Pandas
So konvertieren Sie den Zeitstempel in Pandas in Datum/Uhrzeit
So berechnen Sie eine Differenz zwischen zwei Daten in Pandas