Pandas -Zeitreihen

Pandas -Zeitreihen

Viele Zeitreihen haben eine definierte Häufigkeit, was bedeutet, dass ihre Datenpunkte in feste Intervalle unterteilt sind wie jede Minute, jeden Tag oder jede Woche. Inkonsistente Intervalle können auch in der Zeitreihe vorhanden sein. Ein in der Zeit dargestelltes Datum kann Teil einer Zeitreihe von Daten sein. Zu den Zeitstempelbeispielen gehören ein Datum wie den 07. August 2022 um 12:00 Uhr. Eine Zeitreihe in Python ist eine Serie/Sammlung von Datenpunkten, an denen jeder einen Zeitstempel hat. An der Börse ist der Aktienkurs zu unterschiedlichen Zeiten während des Tages ein realistisches Beispiel. Obwohl auch Zeitreihen von Sci-Kit-Learn angeboten werden, bieten Pandas eine Sammlung mehrerer Funktionen. Wir können die Uhrzeit und das Datum für jeden Datensatz in diesem PANDAS -Modul hinzufügen und die Datenfream -Datensätze erhalten. Mit dem Pandas -Zeitreihenmodul können wir die Daten für einen bestimmten Bereich von Daten und Zeiten ermitteln. Um die Zeitreihenanalyse in Pandas zu erläutern, sprechen wir über mehrere Hauptziele.

Zeitreihenanalyse Hauptziele

  • Erstellen der Datumsserie
  • Arbeiten mit dem Zeitstempel der Daten
  • Stringwerte/Daten zum Zeitstempelkonvertierung
  • Datenschnitte mit einem Zeitstempel für verschiedene Zeiträume, die die Zeitreihen neu abschälen
  • Bestimmen Sie die Aggregate oder die Zusammenfassungsstatistik
  • Umgang mit Daten mit fehlenden Werten

Warum Pandas für die Zeitreihenanalyse?

Obwohl die Pandas -Bibliothek viele nützliche Funktionen hat, bietet Python Module wie DateTime an, die Vorgänge für Daten wie Daten und Zeiten ausführen. Diese Module werden häufiger für die Verarbeitung von Zeitreihendaten verwendet. Zusätzlich halten Pandas für die Zeitreihenanalyse die Beziehung über Bibliotheken hinweg bei. Wenn Daten zeitstempelt sind, sind die Zeitreihen von Pandas ziemlich hilfreich. Pythons DateTime entspricht dem Zeitstempel in Pandas. Es wird für DateTimeIndex -Einträge und andere Datenstrukturen von Pandas Timeseries verwendet. Die Serienstruktur, die vom Timestamp indexiert wird, ist die grundlegendste Zeitreihenstruktur.

So erstellen Sie eine einfache Pandas -Zeitreihe

Um eine einfache Zeitreihe zu erstellen, importieren wir zuerst die erforderlichen Module oder Bibliotheken wie Pandas, Numpy und DateTime. Uhrzeit und Datum sind keine separaten Datentypen in Python, aber sie können mit dem DateTime -Modul behandelt werden, das importiert werden kann. Es ist nicht erforderlich, das Python DateTime -Modul außerhalb zu installieren, da es bereits in Python enthalten ist. Das Python DateTime -Modul enthält Klassen für die Arbeit mit Datum und Uhrzeit. In Pandas werden wir die Zeitreihen manipulieren, indem wir den oben genannten Zielen der Analyse der Zeitreihen folgen.

Erstellen wir eine Liste mit den DateTime -Objekten.

Jetzt erstellen wir eine Serie mit dieser Liste, die die DateTime -Werte enthält. Wir werden die Datumswerte als Index unseres Serienobjekts verwenden.

Wir haben den Index für die Serien angegeben, indem wir den Indexparameter in der Funktion der Serie () verwenden. Durch Extrahieren des Index der Serie können wir ihren Typ bestimmen.

Wie zu sehen ist, ist die Indexdatenstruktur der Variablen ein DataTimeIndex.

Konvertieren von Zeichenfolgenwerten oder Daten in den Zeitstempel

Die Datums- oder Zeitwerte können in verschiedene Zeitreihendatenstrukturen konvertiert werden. Drei verschiedene Datenstrukturen können verwendet werden, um die Zeitreihe zu manipulieren, ich.e., Zeitstempel, Periodenstruktur und Timedelta -Struktur. DateTimeInDex und Zeitstempelobjekte sind die häufigsten dieser Strukturen. Die Methode to_datetime () kann ein bestimmtes Datum oder eine bestimmte Reihe von Daten in Zeitstempel umwandeln.

Die Funktion hat den String -Datumswert in den Zeitstempel konvertiert. Unter Verwendung der Funktion to_datetime () können verschiedene Datumsformate in DateTimeIndex -Objekte konvertiert werden.

Wir haben die Datumsdaten in vier verschiedenen Formaten in einer Liste übergeben, ich.e., [DateTime (2022,6,8), "7. August 2022", "2022-13", "20220406"]. Wie Sie vielleicht bemerken, hat die Funktion jedes Format erfolgreich in das DataTimeIndex -Objekt konvertiert. Wir können auch die Datenstruktur der Zeitreihe ändern. Um Frequenzcodes hinzuzufügen, können Sie DateTimeIndex mit der Methode to_period () in PeriodIndex ändern. Der Wert "D" zum Beispiel stellt eine tägliche Frequenz dar.

Die Daten können auch abgezogen werden, um die Tage zwischen ihnen zu bestimmen.

Wir haben alle Daten ab dem Datum am Index 0 abgezogen. Ein TimedeltaNDex -Objekt wird zurückgegeben, in dem die Ergebnisse als Liste angezeigt werden, die die Anzahl der Tage nach dem Abziehen jedes Datums mit dem Datum am Index 0 enthält.

Verwenden Sie die Funktion date_range, um eine Zeitreihe zu erstellen

Eine Datumsserie kann mit mehreren Funktionen in Pandas erstellt werden. Für Zeitstempel können wir DATE_RANGE () verwenden). Für den Zeitraum, die Period_Range () und Timedelta_Range (), um Zeitdelta -Daten zu erstellen. Die Funktion DATE_RANGE () erhält eine DateTimeIndex mit einer angegebenen Frequenz. Für die Methode date_range () ist das Startdatum und das Enddatum erforderlich.

Zusätzlich können Sie den Zeitraumparameter innerhalb des DATE_RANGE () verwenden (). Sie müssen nur das Startdatum angeben, um dies zu erreichen. Die Funktion gibt die Daten für den angegebenen Zeitraum und die Frequenz zurück. Der FREQ -Parameter kann auch beim Erstellen einer Zeitreihe mit dem Datum_Range () verwendet werden. Die Standardfrequenz der Datumsbereichsmethode ist täglich. Wir können den Wert „H“, der für die Stunde steht, verwenden, um die Frequenz als Stunden zu erhalten.

Datenschneide mit einem Zeitstempel

Wir werden zuerst einen Datenrahmen mit der PD erstellen.DataFrame -Funktion und der Index wird als DateTimeIndex angegeben.

Zuerst haben wir eine Zeitreihe erstellt und sie dann als Index unseres Datenrahmens angegeben. Um die Daten zwischen zwei Zeitreihen zu extrahieren, werden wir den Slice -Operator verwenden.

Obwohl der von uns erstellte grundlegende Datenrahmen Daten mit einer täglichen Häufigkeit enthält, können wir die Daten erneut probieren und auswählen, wie die Aggregatstatistik für die angegebene Frequenz berechnet wird. Anstatt die Daten mit einer täglichen Häufigkeit zu berechnen, können wir die Daten stattdessen mit einer monatlichen Frequenz berechnen.

Zusammenfassende Statistiken finden

Fügen Sie in unserem ursprünglichen Datenrahmen eine neue Spalte hinzu. Wir können die Rolling-Fenster-Statistiken verwenden, um Zeitreihendaten zu analysieren und zu reibungslosen. Um ein Rolling -Fenster über der DataFrame -Spalte zu generieren, verwenden wir die Rolling () -Methode. Dann wird die Funktion sum () verwendet, um die Rollsumme zu erhalten.

Es wurde eine neue Spalte "Roll_sum" erstellt, die die rollenden Summenwerte von angegebenen Fenstern enthält, i.e., 2.

Umgang mit fehlenden Werten

Wie beobachtet werden kann, hat die Spalte der Rollensumme in der ersten Zeile einen fehlenden Wert. Wir können die Daten entweder weiterleiten oder verfüllen, wenn wir mit fehlenden Datenwerten behandelt werden. Wir erstellen eine neue Spalte mit den Rolling -Summenwerten, um die Daten zu erfüllen.

Wir haben den fehlenden Wert mithilfe der Funktion fillna () zurückgefüllt und den Methodeparameter in der Funktion verwendet. Es ist hilfreich, Nulldaten durch realistische Werte zu ersetzen, wie z. B. den Mittelwert einer Periode. Denken Sie jedoch daran, dass Sie, wenn Sie mit einer Zeitreihe zu tun haben und Ihre Statistiken realistisch sind, Ihre Daten nicht zurückzufassen sollten, da dies gleichbedeutend ist, eine Vorhersage zu machen und die Informationen zu erhalten, die Sie nicht dazu haben würden, Zeitraum.

Abschluss

In diesem Artikel haben wir die Zeitreihen in Pandas erörtert. Wir haben darüber diskutiert, welche Zeitreihen die Hauptziele der Zeitreihenanalyse sind und warum wir Pandas für Zeitreihen verwendet haben. In diesem Beitrag haben wir gezeigt, wie eine einfache Manipulation wie das Erstellen einer einfachen Zeitreihe, das Seiden von Daten mit einem Zeitstempel, das Finden von Zusammenfassungsstatistiken und den Umgang mit fehlenden Werten durchgeführt werden kann.