Appliquer une fenêtre glissante avec rolling()
L’application d’une fenêtre glissante avec rolling() permet de calculer des statistiques sur un sous-ensemble de données qui se déplacent le long de la série temporelle. Par exemple, on peut calculer des moyennes mobiles, des sommes cumulées ou d’autres métriques en fonction de la taille de la fenêtre spécifiée. Cela permet d’analyser les tendances locales dans des séries de données avec des périodes définies.
Fonctions :
-
rolling()
La fonction rolling() de Pandas permet d'appliquer des opérations sur une fenêtre glissante de valeurs dans une colonne. Une fenêtre glissante permet d'effectuer un calcul sur un sous-ensemble de données successives, en faisant glisser cette fenêtre sur l'ensemble du DataFrame. Cela est particulièrement utile pour calculer des statistiques mobiles telles que la moyenne mobile, la somme mobile, ou l'écart-type mobile, souvent utilisées dans l'analyse des séries temporelles ou l'analyse des tendances.
Importation :
import pandas as pd
Attributs :
Paramètre Description window
Le nombre d'observations à inclure dans chaque fenêtre. Par exemple, window=3
signifie que les calculs seront effectués sur une fenêtre de 3 valeurs successives.min_periods
Le nombre minimum d'observations non-nulles dans la fenêtre nécessaire pour effectuer le calcul. Par défaut, il est égal à la taille de la fenêtre. axis
L'axe sur lequel effectuer l'opération. Par défaut, c'est 0
pour les lignes.closed
Définit si la fenêtre est fermée à gauche, à droite, ou les deux. Par défaut, la fenêtre est ouverte à droite ( 'right'
).Exemple de code :
import pandas as pd # Création d'un DataFrame exemple data = { 'date': ['2025-01-01', '2025-01-02', '2025-01-03', '2025-01-04', '2025-01-05'], 'ventes': [100, 150, 200, 250, 300] } df = pd.DataFrame(data) # Application de la moyenne mobile sur une fenêtre glissante de 3 jours df['moyenne_rolling'] = df['ventes'].rolling(window=3).mean() # Affichage du DataFrame après application de la moyenne mobile print(df)
Explication du code :
La ligne
import pandas as pd
importe la bibliothèque pandas, renommée ici enpd
pour faciliter son utilisation dans le code.Création d'un DataFrame exemple
Un DataFrame nommé
df
est créé avec les colonnesdate
etventes
. La colonnedate
contient des dates sous forme de chaînes, et la colonneventes
contient des chiffres représentant les ventes associées à chaque date.Application de la moyenne mobile sur une fenêtre glissante de 3 jours
La méthode
rolling(window=3)
permet d'appliquer une opération de fenêtre glissante sur une série de données. Ici,window=3
spécifie une fenêtre de 3 jours.Ensuite, la méthode
mean()
calcule la moyenne des valeurs dans cette fenêtre de 3 jours consécutifs. Le résultat est stocké dans la colonnemoyenne_rolling
du DataFrame, qui montre la moyenne mobile des ventes sur les 3 jours précédents.Pour les deux premières lignes du DataFrame, la colonne
moyenne_rolling
contiendra la valeurNaN
, car il n'y a pas assez de données pour calculer une moyenne sur 3 jours.Affichage du DataFrame après application de la moyenne mobile
La ligne
print(df)
affiche le DataFrame après l'ajout de la colonnemoyenne_rolling
, qui contient les moyennes mobiles des ventes pour chaque jour, calculées sur une fenêtre glissante de 3 jours.