So berechnen sie einen exponentiellen gleitenden durchschnitt in pandas
Bei der Zeitreihenanalyse ist ein gleitender Durchschnitt einfach der Durchschnittswert mehrerer früherer Perioden.
Ein exponentieller gleitender Durchschnitt ist eine Art gleitender Durchschnitt, der den jüngsten Beobachtungen mehr Gewicht beimisst, was bedeutet, dass er in der Lage ist, aktuelle Trends schneller zu erfassen.
In diesem Tutorial wird erläutert, wie Sie einen exponentiellen gleitenden Durchschnitt für eine Wertespalte in einem Pandas-DataFrame berechnen.
Beispiel: Exponentieller gleitender Durchschnitt bei Pandas
Angenommen, wir haben den folgenden Pandas-DataFrame:
import pandas as pd #createDataFrame df = pd.DataFrame({'period': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 'sales': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19]}) #view DataFrame df period sales 0 1 25 1 2 20 2 3 14 3 4 16 4 5 27 5 6 20 6 7 12 7 8 15 8 9 14 9 10 19
Mit der Funktion pandas.DataFrame.ewm() können wir den exponentiell gewichteten gleitenden Durchschnitt für eine Reihe früherer Perioden berechnen.
So berechnen Sie beispielsweise den exponentiell gewichteten gleitenden Durchschnitt anhand der vorherigen vier Perioden:
#create new column to hold 4-day exponentially weighted moving average df['4dayEWM'] = df['sales']. ewm (span= 4 , adjust= False ). mean () #view DataFrame df period sales 4dayEWM 0 1 25 25.000000 1 2 20 23.000000 2 3 14 19.400000 3 4 16 18.040000 4 5 27 21.624000 5 6 20 20.974400 6 7 12 17.384640 7 8 15 16.430784 8 9 14 15.458470 9 10 19 16.875082
Wir können auch die Matplotlib-Bibliothek verwenden, um Verkäufe im Verhältnis zum exponentiell gewichteten gleitenden 4-Tage-Durchschnitt zu visualisieren:
import matplotlib.pyplot as plt #plot sales and 4-day exponentially weighted moving average plt. plot (df['sales'], label='Sales') plt. plot (df['4dayEWM'], label='4-day EWM') #add legend to plot plt. legend (loc=2)
Zusätzliche Ressourcen
So berechnen Sie gleitende Durchschnitte in Python
So berechnen Sie den Durchschnitt der Spalten in Pandas
So berechnen Sie die Autokorrelation in Python