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 :
-
Fenêtre glissante avec
rolling(window=3)
:
La méthoderolling()
permet de définir une fenêtre qui va "glisser" sur les données. Ici, nous avons défini une fenêtre de taille 3 (window=3
), ce qui signifie que chaque calcul sera effectué sur un sous-ensemble de 3 lignes successives. -
Application de la fonction
mean()
sur la fenêtre :
En appliquant la fonctionmean()
à la fenêtre glissante, on calcule la moyenne des trois valeurs successives dans la colonne'colonne'
. Cela donne une nouvelle colonne,'moyenne_rolling'
, qui contient la moyenne mobile pour chaque fenêtre de 3 valeurs. -
Valeurs manquantes au début :
Les premières valeurs de la colonne'moyenne_rolling'
serontNaN
, car il n'y a pas assez de données dans la fenêtre pour calculer la moyenne. Par exemple, pour une fenêtre de taille 3, les deux premières lignes ne peuvent pas avoir de valeur calculée.
🔹 Remarques pratiques
-
Utilisation pour l'analyse des tendances :
La fenêtre glissante est très utile pour lisser les séries temporelles et observer les tendances sous-jacentes. Par exemple, la moyenne mobile permet d'atténuer l'impact des fluctuations à court terme et de mieux voir les tendances à long terme. -
Ajustement de la fenêtre :
La taille de la fenêtre (le paramètrewindow
) peut être ajustée en fonction de la fréquence des données et de l'objectif de l'analyse. Par exemple, pour des données mensuelles, vous pourriez utiliser une fenêtre de 6 mois pour observer la tendance à plus long terme. -
Calcul de d'autres statistiques :
En plus demean()
, vous pouvez appliquer d'autres fonctions sur la fenêtre, commesum()
,std()
, oumin()
, selon ce que vous voulez analyser dans vos données.
-