Ein rollierender Median ist der Median einer bestimmten Anzahl früherer Perioden in einer Zeitreihe.
Um den gleitenden Median für eine Spalte in einem Pandas DataFrame zu berechnen, können wir die …
Das Resampling von Zeitreihendaten bedeutet, die Daten für einen neuen Zeitraum zusammenzufassen oder zu aggregieren.
Wir können die folgende grundlegende Syntax verwenden, um Zeitreihendaten in Python neu abzutasten:
#Finde die Summe der Werte in Spalte1 nach Monat
weekly_df['column1'] = df['column1'].resample('M').sum()
#Durchschnitt der Werte in Spalte1 nach Woche finden
weekly_df['column1'] = df['column1'].resample('W').mean()
Beachten Sie, dass wir die Zeitreihendaten nach verschiedenen Zeiträumen neu abtasten können, darunter:
Das folgende Beispiel zeigt, wie Zeitreihendaten in der Praxis neu abgetastet werden.
Angenommen, wir haben den folgenden Pandas DataFrame, der die Gesamtverkäufe anzeigt, die jede Stunde von einem Unternehmen während eines Zeitraums von einem Jahr getätigt wurden:
import pandas as pd
import numpy as np
#Dieses Beispiel reproduzierbar machen
np.random.seed(0)
#DataFrame mit stündlichem Index erstellen
df = pd.DataFrame(index=pd.date_range('2020-01-06', '2020-12-27', freq='h'))
#Spalte hinzufügen, um Verkäufe nach Stunde anzuzeigen
df['sales'] = np.random.randint(low=0, high=20, size=len(df.index))
#erste fünf Zeilen von DataFrame anzeigen
df.head()
sales
2020-01-06 00:00:00 12
2020-01-06 01:00:00 15
2020-01-06 02:00:00 0
2020-01-06 03:00:00 3
2020-01-06 04:00:00 3
Wenn wir ein Liniendiagramm erstellen, um die Verkaufsdaten zu visualisieren, würde es so aussehen:
import matplotlib.pyplot as plt
#plot Zeitreihendaten
plt.plot(df.index, df.sales, linewidth=3)
Dieses Diagramm ist schwer zu interpretieren, daher können wir stattdessen die Verkaufsdaten nach Woche zusammenfassen:
#neuen Dataframe erstellen
weekly_df = pd.DataFrame()
# Erstellen Sie eine Spalte „Verkäufe“, die die Gesamtverkäufe pro Woche zusammenfasst
weekly_df['sales'] = df['sales'].resample('W').sum()
#erste fünf Zeilen von DataFrame anzeigen
weekly_df.head()
sales
2020-01-12 1519
2020-01-19 1589
2020-01-26 1540
2020-02-02 1562
2020-02-09 1614
Dieser neue DataFrame zeigt die Summe der Verkäufe pro Woche.
Wir können dann ein Zeitreihendiagramm mit diesen wöchentlichen Daten erstellen:
import matplotlib.pyplot as plt
#wöchentliche Verkaufsdaten plotten
plt.plot(weekly_df.index, weekly_df.sales, linewidth=3)
Dieses Diagramm ist viel einfacher zu lesen, da wir im ersten Beispiel nur Verkaufsdaten für 51 einzelne Wochen darstellen, im Gegensatz zu Verkaufsdaten für 8.545 einzelne Stunden.
Hinweis : In diesem Beispiel haben wir die Verkaufsdaten nach Woche zusammengefasst, aber wir könnten auch nach Monat oder Quartal zusammenfassen, wenn wir noch weniger Datenpunkte darstellen möchten.
Die folgenden Tutorials erklären, wie Sie andere gängige Operationen in Python ausführen:
So zeichnen Sie eine Zeitreihe in Matplotlib
So zeichnen Sie eine Zeitreihe in Seaborn
So berechnen Sie MAPE von Zeitreihen in Python
Ein rollierender Median ist der Median einer bestimmten Anzahl früherer Perioden in einer Zeitreihe.
Um den gleitenden Median für eine Spalte in einem Pandas DataFrame zu berechnen, können wir die …
Eine Zeitreihe wird als „stationär“ bezeichnet, wenn sie keinen Trend aufweist, über die Zeit eine konstante Varianz aufweist und über die Zeit eine konstante Autokorrelationsstruktur aufweist.
Eine Möglichkeit zu testen …