Zeitreihendaten in Pandas

Zeitreihendaten in Pandas

In diesem Tutorial erfahren Sie, wie Sie Zeitreihendaten mit Pandas erneut abtasten. Das vollständige Video dieses Tutorials können Sie unten in diesem Blog ansehen .

Was ist diese Idee des Resamplings? Dies hängt mit Zeitreihendaten zusammen und wir werden die Häufigkeit ändern, mit der diese Daten gemeldet werden. Ändern Sie beispielsweise den Jahreswert in einen Monats- oder Wochenwert oder die Stundendaten in einen Tageswert. Kurz gesagt, wir verändern die Ebene in der Hierarchie.

Dies kann aus verschiedenen Gründen genutzt werden, z. B. um zuverlässigere Trends , Stichprobengrößen und Saisonalität zu erhalten . Bei einigen Berichten ist es sinnvoller, wenn wir eine Ebene der Hierarchie gegenüber einer anderen verwenden.

Darüber hinaus kann Resampling hilfreich sein, wenn Sie über unterschiedliche Datenquellen verfügen und Zeitreihendaten zusammenführen müssen. Dies hilft auch beim Umgang mit einer Diskrepanz in der Hierarchie .

Zeitreihendaten in Pandas

Um dies weiter aufzuschlüsseln, haben wir Downsampling und Upsampling.

Durch Downsampling soll die Häufigkeit der Berichterstattung verringert werden . Dabei kann es sich beispielsweise um die Umrechnung von einer Sekunde in eine Stunde handeln, um weniger Werte zu erhalten, oder um ein Downsampling von Monat zu Quartal.

Andererseits soll durch Upsampling die Häufigkeit der Berichterstattung von der Monatsebene bis auf den Tag erhöht werden . Wir werden später noch mehr Beispiele dafür haben.

Zeitreihendaten in Pandas

Inhaltsverzeichnis

So berechnen Sie Zeitreihendaten mithilfe von Pandas neu

Wie machen wir das in Pandas?

Zunächst ändern wir den Index in unsere Zeitreihendatenspalte . Dann können wir mithilfe der Interpolation ein Upsampling durchführen, das die Werte ausfüllt, und ein Downsampling durchführen, um ein Rollup durchzuführen, indem wir die Werte aggregieren.

Zeitreihendaten in Pandas

Gehen wir zu Jupyter Notebook Python und testen es mit Pandas.

Zunächst verwenden wir Pandas, indem wir import pandas as pd eingeben , gefolgt von import seaborn as sns, um es zu visualisieren, und import matplotlib.pyplot as plt, um die Seaborn-Visualisierung anzupassen .

Als nächstes müssen Sie die Daten aus vega_datasets import data abrufen . Es ist ein schöner Ort, um Beispielquellen zu erhalten. Außerdem erhalten wir die Bibliothek sp = data.sp500 () und sp.head () .

Zeitreihendaten in Pandas

Hier sind unsere bisherigen Daten. Wir haben die täglichen Renditen und Preise für jeden Tag.

Zeitreihendaten in Pandas

Um den Index auf die Datumsspalte festzulegen, geben Sie sp.set_index(['date'], inplace=True) ein und rufen Sie dann sp.head erneut auf.

Zeitreihendaten in Pandas

Verwenden von Upsampling zum Abrufen von Werten

Um dann mehr Werte zu erhalten, verwenden wir Upsampling. Da wir die Daten für jeden Tag haben, können wir mit der einfachsten Funktion sp [['price']] auf die Stunde genau gehen. resample ('H').ffill ( ) und führe es dann aus. H steht für Stunde, M für Monat, D für Tag und so weiter. Weitere Informationen hierzu finden Sie in der Pandas-Dokumentation .

Wie wir sehen können, beträgt der Preis am 1. Januar um Mitternacht 1394,46, genau wie in den folgenden Stunden von 1:00 Uhr bis 4:00 Uhr. Ein weiteres Beispiel ist der 2. Januar, wo der Schlusskurs 1366,42 beträgt.

Zeitreihendaten in Pandas

Es gibt andere Möglichkeiten, dies zu tun, auch wenn der Wert auf Stundenebene nicht verfügbar ist. Außerdem gibt es ausgefeiltere Möglichkeiten als nur eine Vorwärtsfüllung durchzuführen . In unserem Beispiel haben wir die grundlegende Methode zur Upsampling-Interpolation durchgeführt.

Als nächstes gehen wir zum Downsampling über, indem wir avg_month = sp [['price]].resample ('M').mean ( ) und dann avg_month.head ( ) eingeben und zur Überprüfung ausführen.

Wie dargestellt, können wir den letzten Tag jedes Monats und den Durchschnittspreis sehen. Wir können die Stichproben verkleinern, um weniger Werte zu erhalten, was wir Downsizing nennen.

Zeitreihendaten in Pandas

Um dies zu veranschaulichen, geben wir „Re-Plot“ der gezeichneten Dimensionen ein. Dann folgt sns.lineplot . Das Liniendiagramm funktioniert besser mit einer längeren X-Achse, während der Y-Wert den durchschnittlichen monatlichen Preis darstellt.

Führen Sie dies aus, um den Durchschnittspreis für den Monat anzuzeigen.

Zeitreihendaten in Pandas

Auch hier gibt es viele verschiedene Möglichkeiten, dies zu tun. Wenn wir beispielsweise den niedrigsten Preis pro Quartal wissen möchten, müssen wir nur „quarter_low“ und dann „quarter_low.head“ eingeben, um ihn auszuführen.

Dort sehen wir nun den vierteljährlich niedrigsten Wert, der in jedem Quartal gefunden wurde. So führen Sie ein Resample durch.

Zeitreihendaten in Pandas


Umgang mit fehlenden Daten in Python mithilfe der Interpolationsmethode
MultiIndex in Pandas für mehrstufige oder hierarchische Datendatensätze
in Pandas mit ProfileReport | Python in LuckyTemplates

Abschluss

Um das Ganze abzurunden: Pandas ist wirklich für Resampling und Zeitreihendaten konzipiert . Wenn Sie an Zeitreihendaten arbeiten und unterschiedliche Granularitäten haben, kann Resampling sehr hilfreich sein.

Lesen Sie außerdem unbedingt die Pandas-Dokumentation zur Resample-Methode, um viele verschiedene Möglichkeiten kennenzulernen. Wir haben uns die Grundlagen angeschaut, aber Sie können Dinge wie zweiwöchentlich, den letzten Arbeitstag des Monats und weitere Optionen für das Resampling tun.

Alles Gute,

George Mount


So speichern und laden Sie eine RDS-Datei in R

So speichern und laden Sie eine RDS-Datei in R

Sie erfahren, wie Sie Objekte aus einer .rds-Datei in R speichern und laden. In diesem Blog wird auch behandelt, wie Sie Objekte aus R in LuckyTemplates importieren.

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

In diesem Tutorial zur DAX-Codierungssprache erfahren Sie, wie Sie die GENERATE-Funktion verwenden und einen Kennzahltitel dynamisch ändern.

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

In diesem Tutorial erfahren Sie, wie Sie mithilfe der Multi-Threaded-Dynamic-Visuals-Technik Erkenntnisse aus dynamischen Datenvisualisierungen in Ihren Berichten gewinnen.

Einführung in den Filterkontext in LuckyTemplates

Einführung in den Filterkontext in LuckyTemplates

In diesem Artikel werde ich den Filterkontext durchgehen. Der Filterkontext ist eines der Hauptthemen, über die sich jeder LuckyTemplates-Benutzer zunächst informieren sollte.

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Ich möchte zeigen, wie der LuckyTemplates Apps-Onlinedienst bei der Verwaltung verschiedener Berichte und Erkenntnisse aus verschiedenen Quellen helfen kann.

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Erfahren Sie, wie Sie Ihre Gewinnmargenänderungen mithilfe von Techniken wie Kennzahlenverzweigung und der Kombination von DAX-Formeln in LuckyTemplates ermitteln.

Materialisierungsideen für Datencaches in DAX Studio

Materialisierungsideen für Datencaches in DAX Studio

In diesem Tutorial werden die Ideen der Materialisierung von Datencaches und deren Auswirkungen auf die Leistung von DAXs bei der Bereitstellung von Ergebnissen erläutert.

Geschäftsberichte mit LuckyTemplates

Geschäftsberichte mit LuckyTemplates

Wenn Sie bisher noch Excel verwenden, ist dies der beste Zeitpunkt, LuckyTemplates für Ihre Geschäftsberichtsanforderungen zu verwenden.

Was ist LuckyTemplates Gateway? Alles was du wissen musst

Was ist LuckyTemplates Gateway? Alles was du wissen musst

Was ist LuckyTemplates Gateway? Alles was du wissen musst