Utiliser des méthodes de resampling pour regrouper les données temporelles

Le resampling permet de modifier la fréquence des données temporelles, en les regroupant selon des intervalles spécifiques (comme quotidien, mensuel, annuel, etc.). Cela permet de transformer, agréger ou interpoler des séries temporelles pour mieux les analyser ou les visualiser. Dans pandas, cela se fait avec la méthode .resample() en combinaison avec des fonctions comme sum(), mean(), max(), etc. La resampling peut être effectuée sur des séries temporelles indexées par une date ou un timestamp.

Fonctions :

  • df.resample().sum()

    La méthode resample() est utilisée pour modifier la fréquence des données temporelles dans un DataFrame. Elle permet de regrouper les données selon des intervalles temporels spécifiques (par exemple, quotidien, mensuel, annuel, etc.) et d'appliquer une fonction d'agrégation comme sum(), mean(), count(), etc. Cette méthode est particulièrement utile lorsqu'on travaille avec des séries temporelles et qu'on souhaite ajuster la granularité des données. Le paramètre 'D' dans resample('D') indique que les données seront regroupées par jour. On peut remplacer 'D' par d'autres fréquences comme 'M' pour mensuel, 'A' pour annuel, etc.

    Importation :

    import pandas as pd

    Attributs :

    Paramètre Description
    rule La règle de fréquence à utiliser pour le resampling. Par exemple, 'D' pour quotidien, 'M' pour mensuel, 'A' pour annuel, etc.
    how ou aggfunc La fonction d'agrégation à appliquer sur les données groupées, comme sum(), mean(), min(), max(), etc.
    on La colonne sur laquelle appliquer le resampling. Si non spécifié, le resampling est effectué sur l'index, supposé être une date ou un horodatage.
    closed Définit si la période est fermée à gauche ou à droite. Par défaut, elle est fermée à droite.
    label Définit si le label de la période doit être aligné au début ou à la fin de la période. Par défaut, le label est aligné à la fin.

    Exemple de code :

    import pandas as pd
    
    # Création d'un DataFrame exemple avec une colonne 'date'
    data = {
        'date': ['2025-01-01', '2025-01-01', '2025-01-02', '2025-01-02', '2025-01-03'],
        'ventes': [100, 150, 200, 250, 300]
    }
    
    df = pd.DataFrame(data)
    
    # Convertir la colonne 'date' en datetime
    df['date'] = pd.to_datetime(df['date'])
    
    # Définir la colonne 'date' comme index
    df.set_index('date', inplace=True)
    
    # Utilisation de resample pour regrouper les données par jour et appliquer sum
    df_resampled = df.resample('D').sum()
    
    # Affichage du DataFrame après resampling
    print(df_resampled)
    Résultat du code

    Explication du code :

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

    Création du DataFrame

    Un DataFrame est créé à partir d'un dictionnaire, contenant deux colonnes : 'date' et 'ventes'. La colonne 'date' contient des dates, tandis que la colonne 'ventes' contient les valeurs des ventes correspondantes.

    Conversion de la colonne 'date' en datetime

    La méthode pd.to_datetime(df['date']) convertit les chaînes de caractères dans la colonne 'date' en objets de type datetime. Cela permet d'effectuer des opérations sur les dates telles que le resampling et le regroupement.

    Définition de 'date' comme index

    La méthode df.set_index('date', inplace=True) définit la colonne 'date' comme index du DataFrame. Cela permet d'effectuer des manipulations sur les données temporelles de manière plus intuitive, en utilisant les dates comme clé d'indexation.

    Utilisation de resample pour regrouper les données par jour et appliquer sum

    La méthode df.resample('D').sum() est utilisée pour effectuer un resampling des données. Le paramètre 'D' indique que le resampling se fait par jour (Day). Après avoir regroupé les données par jour, la méthode sum() additionne les valeurs de la colonne 'ventes' pour chaque jour. Par exemple, si plusieurs lignes correspondent à la même date, leurs valeurs de ventes sont additionnées.

    Affichage du DataFrame après resampling

    Le DataFrame résultant affiche les dates uniques avec la somme des ventes pour chaque jour, obtenue après l'opération de resampling.