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)

Exponentiell gewichteter gleitender Durchschnitt bei Pandas

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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert