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)
    Résultat du code

    Explication du code :

    La ligne import pandas as pd importe la bibliothèque pandas, renommée ici en pd pour faciliter son utilisation dans le code.

    Création d'un DataFrame exemple

    Un DataFrame nommé df est créé avec les colonnes date et ventes. La colonne date contient des dates sous forme de chaînes, et la colonne ventes 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 colonne moyenne_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 valeur NaN, 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 colonne moyenne_rolling, qui contient les moyennes mobiles des ventes pour chaque jour, calculées sur une fenêtre glissante de 3 jours.