Pandas -Filter nach Datum

Pandas -Filter nach Datum
Das Datenformat variiert in verschiedenen Regionen (DD/MM/YY, YYYY-MM-DD, JYYY-DD-MM usw.). Die Arbeit mit Datumszeichenzwerten im Datensatz ist eine Herausforderung. Die Uhrzeit und das Datum im String -Format können mit Pandas 'to_datetime () in DateTime64 konvertiert werden. Dieser Datentyp ermöglicht uns die Extraktion der Zeit- und Datumsmerkmale, die von „Mikrosekunden“ bis „Jahr“ reichen, bis hin zu „Jahr“. Konvertieren Sie zunächst die Datumswerte im angegebenen DataFrame in den Typ DateTime64, bevor Sie die Zeilen basierend auf Daten filtern. Definieren Sie dann eine Filterbedingung mit dem Datenrahmen des Pandas -Pakets.LOC und DataFrame.Abfragefunktionen. Erhalten Sie den gefilterten Datenrahmen, bei dem es sich um die Teilmenge der Daten handelt.

So extrahieren Sie Werte aus dem PANDAS -Datenframe basierend auf Datumswerten

In den folgenden Beispielen verwenden wir die verschiedenen Methoden, um die Spalten des Datenrahmens nach Datumswerten zu filtern. Vor der Filterung der Daten müssen die Daten in den Datenatyp „'DateTime64“ konvertiert werden.

Beispiel 1: Daten mit dem DataFrame extrahieren.LOC [] Funktion basierend auf Datumswerten

Mit den Spaltennamen oder einem booleschen Array kann die LOC [] -Funktion verwendet werden, um eine Gruppe von Spalten und Zeilen in einem Datenrahmen abzurufen. Ein Array (boolean) mit einem echten Wert, wenn die Zeile die Anforderung erfüllt und in allen anderen Fällen einen falschen Wert erfüllt, wird durch den bedingten Ausdruck in der LOC []. Die LOC [] -Funktion gibt nur die Zeilen mit echten Werten zurück. Um unseren Datenrahmen zu erstellen, verwenden wir die PD.DataFrame () -Funktion. Die Pandas -Bibliothek muss zuerst importiert werden.


Wir haben ein Python -Wörterbuch innerhalb der PD verabschiedet.DataFrame () -Funktion zum Erstellen unseres "DF" -Datenframe. Drucken wir es aus, um den Inhalt zu visualisieren.


Es gibt zwei Spalten im vorherigen DataFrame "Namen" und "posting_date". Die Spalte "Name" besteht aus Namen von Mitarbeitern eines Unternehmens ("Leo", "Bruce", "Robert", "Clay", "Martin", "Henry", "Lana", "Becky", "Alexa" , "Dustin"). Die Spalte "posting_date" enthält den Datensatz des Posting-Datums jedes Mitarbeiters ("2022-08-01", "2022-08-20", "2022-09-05", "2022-09-25", "2022 -09-30 "," 2022-10-10 "," 2022-11-10 "," 2022-12-01 "," 2022-12-10 "," 2022-12-30 "). Überprüfen Sie die Datentypen der Spalten im Datenrahmen „DF“ mithilfe des Attributs von DTYPES.


Es kann überlegt werden, dass der aktuelle Datentyp "posting_date" -Spalten "Objekt" ist. Um die Daten basierend auf Datumswerten zu filtern, konvertieren wir sie in "DateTime64".


Um den Datentyp in DateTime64 umzuwandeln, haben wir die PD verwendet.DateTime () -Funktion und bestanden die Spalte "posting_date" als Argument in der Funktion. Das Format ist angegeben. Jetzt wird der Datentyp der Spalte mit Datumwerten in "Timedate64" geändert. Auch hier können Sie das DTYPES -Attribut verwenden, um den Datenatyp der Spalten zu bestimmen.


Der Datentyp von posting_date wird vom Objekt zu DateTime64 geändert. Wenn der Datentyp jetzt geändert wird, können wir unsere Funktion unserer LOC [] mit Bedingungen darin verwenden, um die Zeilen zu filtern.


Wir haben zwei Bedingungen innerhalb der LOC [] -Funktion angewendet, um die Zeilen aus dem Datenrahmen zu extrahieren, wobei das Datum in der "Posting_date" gleich oder größer als "22-09-05" ist und der Wert von "posting_date" weniger als 22- 12-01.


Die vorherigen Zeilen des DataFrame erfüllen die Bedingungen innerhalb der LOC [] -Funktion.

Beispiel 2: Extrahieren Sie die Daten mit dem DateTimeInDex (DT) im DataFrame.loc [] Funktion

Mehrere Eigenschaften können mit DT zurückgegeben werden, um die Werte der Serie als datetimelike Werte zu erhalten. Zum Beispiel die „Serie“.dt.Datum ”Attribut gibt ein Python DateTime Numpy Array zurück. Erstellen wir für dieses Beispiel einen weiteren Datenrahmen.


Der Datenrahmen wird mit der Wörterbuchseite der PD erstellt.DataFrame () -Funktion.


Die Spalte „Datum“ in unserem Datenfreame besteht aus Datumswerten als Zeichenfolgen („2021-06-09“, „2021-06-25“, „2021-07-05“, „2021-07-12“, „2021 -08-29 "," 2021-09-15 "," 2021-10-21 "," 2021-11-02 "," 2021-11-10 "," 2021-11-18 "). Wir überprüfen nun den Datentyp des Datenrahmens mit Hilfe des DTypes -Attributs.


Der Datentyp der Spalten "Aufgabe" und "Datum" sind int64 bzw. Objekt. Wir ändern die Spalte "Datum" in "DateTime64" -Datenatype. Um seinen Datentyp zu ändern, verwenden wir die Funktion to_datetime ().


Jetzt können wir die Daten mit der LOC [] -Methode filtern. Zunächst filtern wir die Daten, ohne das DT -Attribut zu verwenden, um die Daten für bestimmte Daten zu filtern.


Das vorherige Skript ruft die Zeilen mit den Daten zwischen November ab, da die Bedingung als Datum festgelegt ist, gleich oder mehr als 2021-11-01 und weniger als 2021-11-30.


Wir können die Zeilen auch mit bestimmten Daten oder Zeiten mit dem DT -Attribut abrufen. Nehmen wir an, wir holen die Reihe für einen bestimmten Wochentag ab. Die Indizierung der Wochentage beginnt von 1 bis 7, wo 1 Montag und 7 am Sonntag ist. Wenn wir Montag angeben, verwenden wir den Indexwert 1.

Beispiel 3: Extrahieren Sie die Daten mithilfe .Abfrage [] Funktion basierend auf den Datumswerten

Die Methode query () kann auch verwendet werden, um die Daten basierend auf Datumswerten aus dem DataFrame zu filtern. Sie können den Datenrahmen mit der Methode query () abfragen. Ein Abfrageausdruck wird als String -Eingabe an die Query () -Methode übergeben und muss wahr oder falsch zurückgeben. Der DataFrame wird zurückgegeben, wenn die Ausgabe durch die Abfrageanweisung wahr ist. Erstellen wir einen Datenrahmen, in dem wir die Funktion query () verwenden, um die Daten zu filtern.


Ändern wir nun die Datentyp der Spalte „Ankunft“ in DateTime64 mit der Funktion to_datetime () in die Funktion.


Überprüfen Sie, ob die Spalte "Ankunft" in DateTime64 geändert wird oder nicht.


Wenn der Datentyp geändert wird, verwenden wir die Funktion query (), um die Daten aus dem Datenrahmen „DF“ zu filtern.


Sie können beobachten, dass der Zustand in der Funktion query () als Zeichenfolge übergeben wird, ich.e. “Ankunft> = '2022-02-05' und Ankunft < '2022-05-15'”. The function returns the rows where the date values in the “arrival” column are equal to or greater than 2022-02-05 and less than 2022-05-15.


Die vorherigen Zeilen aus dem Datenrahmen „DF“ erfüllen die Bedingung in der Funktion query ().

Beispiel 4: Filtern Sie die Zeilen zwischen zwei Daten mit der Funktion isin ()

Die ISIN () -Methode hilft beim Abrufen der Zeilen mit einem einzelnen (oder mehreren) Wert in einer bestimmten Spalte. Die „Pandas.Datenrahmen.ISIN () ”” Methode gibt einen Datenrahmen von Booleschen zurück, der angibt, ob ein Element im angegebenen Bereich enthalten ist oder nicht. Diese Technik ermöglicht es uns, die Datenzeilen von Dataframe in Pandas entsprechend dem Datum zu filtern. Wir erstellen nun einen neuen Beispieldatenframe, um die Verwendung der ISIN () -Funktion zu demonstrieren, um die Zeilen nach dem Importieren der Pandas und Numpy -Module zu filtern.


Während wir unseren Datenrahmen erstellt haben, ändern wir nun den Datentyp der Spalte „Datum“ in DateTime64 wie in den vorherigen Beispielen.


Nachdem wir den Datentyp in DateTime 64 geändert haben, filtern wir die Zeilen mithilfe der Zeilen aus dem Datenrahmen „DF“ mithilfe der Funktion isin () filtern.


Wir haben die PD bestanden.Date_Range () Funktion neben der Funktion isin (). Wir haben den Startparameter des Date_Range () als 2021-12-01 und den Endparameter 2022-02-01 angegeben. Der vorherige Code gibt die Zeilen aus dem Datenrahmen zurück, der innerhalb des Bereichs liegt.

Abschluss

In diesem Tutorial haben wir versucht, Ihnen beizubringen, wie Sie die Zeilen nach Datumwerten filtern können. Wir haben erfahren, dass wir die Datumswerte im angegebenen DataFrame in den Typ DateTime64 konvertieren, bevor wir die Zeilen basierend auf Daten filtern. In diesem Artikel haben wir einige Beispiele implementiert, um Ihnen beizubringen, wie Sie den DataFrame verwenden können.loc [] Funktion, .Abfrage [] Funktion und ISIN () Funktion zum Filtern der Daten nach Daten in Pandas. Nachdem Sie dieses Tutorial durchlaufen haben, sollten Sie in der Lage sein, die Zeilen selbst zu filtern.