Données de séries chronologiques dans les pandas

Données de séries chronologiques dans les pandas

Dans ce didacticiel, vous apprendrez à rééchantillonner des données de séries chronologiques à l'aide de Pandas. Vous pouvez regarder la vidéo complète de ce tutoriel au bas de ce blog .

Quelle est cette idée de rééchantillonnage ? Ceci est lié aux données de séries chronologiques et ce que nous allons faire, c'est changer la fréquence à laquelle ces données sont rapportées. Par exemple, changer la valeur annuelle en mensuelle ou hebdomadaire, ou changer les données horaires en quotidiennes. Bref, on change de niveau dans la hiérarchie.

Cela peut être utilisé pour un certain nombre de raisons telles que l'obtention de tendances , de tailles d'échantillons et de saisonnalité plus fiables . Dans certains rapports, il sera plus logique d'utiliser un niveau de la hiérarchie plutôt qu'un autre.

En outre, le rééchantillonnage peut être utile si vous disposez de différentes sources de données et que vous devez effectuer une jointure de données de séries chronologiques. Cela sera également utile en cas de non-concordance dans la hiérarchie .

Données de séries chronologiques dans les pandas

Pour décomposer cela davantage, nous avons le sous-échantillonnage et le suréchantillonnage.

Le sous-échantillonnage consiste à réduire la fréquence des rapports . Cela peut être des choses comme la conversion d'une seconde en une heure afin d'avoir moins de valeurs ou le sous-échantillonnage d'un mois à l'autre.

D'autre part, le suréchantillonnage consiste à augmenter la fréquence de déclaration du niveau du mois jusqu'au jour . Nous aurons plus d'exemples de cela plus tard.

Données de séries chronologiques dans les pandas

Table des matières

Comment rééchantillonner des données de séries chronologiques à l'aide de pandas

Comment allons-nous faire cela dans Pandas ?

Tout d'abord, nous allons changer l' index de notre colonne de données de séries chronologiques . Ensuite, nous pouvons suréchantillonner en utilisant l'interpolation, qui remplira les valeurs, et nous pouvons sous-échantillonner pour cumuler en agrégeant les valeurs.

Données de séries chronologiques dans les pandas

Passons à Jupyter Notebook Python et vérifions cela avec Pandas.

Pour commencer, nous allons utiliser Pandas en tapant import pandas as pd , puis import seaborn as sns pour le visualiser, et import matplotlib.pyplot as plt pour personnaliser la visualisation Seaborn .

La prochaine chose à faire est d'obtenir les données de vega_datasets import data . C'est un bon endroit pour obtenir des exemples de sources. De plus, nous allons obtenir la bibliothèque sp = data.sp500() et sp.head() .

Données de séries chronologiques dans les pandas

Voici nos données jusqu'à présent. Nous avons les rendements quotidiens et le prix pour chaque jour.

Données de séries chronologiques dans les pandas

Pour définir l'index sur la colonne de date, tapez sp.set_index(['date'], inplace=True) puis appelez à nouveau sp.head .

Données de séries chronologiques dans les pandas

Utilisation du suréchantillonnage pour obtenir des valeurs

Ensuite, pour avoir plus de valeurs, utilisons le suréchantillonnage. Puisque nous avons les données pour chaque jour, nous pouvons descendre à l'heure en utilisant la fonction la plus simple qui est sp [['prix']]. resample ('H').ffill ( ) , puis exécutez-le. H correspond à l'heure, M au mois, D au jour, etc. Vous pouvez en savoir plus à ce sujet dans la documentation Pandas .

Comme nous pouvons le voir, le 1er janvier à minuit, le prix est de 1394,46, identique aux heures suivantes de 1h00 à 4h00. Un autre exemple est le 2 janvier, où le cours de clôture est de 1366,42.

Données de séries chronologiques dans les pandas

Il existe d'autres façons de procéder même si la valeur n'est pas disponible au niveau de l'heure. En outre, il existe des moyens plus sophistiqués que de simplement effectuer un remplissage vers l'avant . Pour notre exemple, ce que nous avons fait est la méthode de base pour effectuer une interpolation de suréchantillonnage.

Passons ensuite au sous-échantillonnage en tapant avg_month = sp [['price]].resample ('M').mean ( ) , puis avg_month.head ( ) et exécutez-le pour vérifier.

Comme illustré, nous pouvons voir le dernier jour de chaque mois et le prix moyen. Nous pouvons réduire les échantillons pour avoir moins de valeurs, ou ce que nous appelons la réduction des effectifs.

Données de séries chronologiques dans les pandas

Pour visualiser cela, tapons re-tracer les dimensions qui sont dessinées. Ensuite, suivi de sns.lineplot . Le graphique linéaire fonctionne mieux avec un axe X plus long, tandis que la valeur Y correspond au prix mensuel moyen.

Pour voir le prix moyen du mois tracé, exécutons ceci.

Données de séries chronologiques dans les pandas

Encore une fois, il existe de nombreuses façons différentes de procéder. Par exemple, si nous voulons connaître le prix le plus bas par trimestre, il nous suffit de taper quarter_low , puis quarter_low.head pour l'exécuter.

Donc, là, nous pouvons maintenant voir la valeur la plus basse trimestrielle trouvée dans chaque trimestre. C'est ainsi que vous effectuez un rééchantillonnage.

Données de séries chronologiques dans les pandas


Gestion des données manquantes dans Python à l'aide de la méthode d'interpolation
MultiIndex dans Pandas pour
les ensembles de données à plusieurs niveaux ou hiérarchiques dans Pandas avec ProfileReport | Python dans LuckyTemplates

Conclusion

Pour couronner le tout, Pandas est vraiment conçu pour le rééchantillonnage et les données de séries chronologiques . Si vous travaillez sur des données de séries chronologiques et avez des granularités différentes, le rééchantillonnage peut être très utile.

De plus, assurez-vous de lire la documentation de Pandas sur la méthode de rééchantillonnage pour apprendre de nombreuses façons différentes de procéder. Nous avons examiné les options de base, mais vous pouvez effectuer des opérations telles que toutes les deux semaines, le dernier jour ouvrable du mois et davantage d'options de rééchantillonnage.

Tous mes vœux,

George Mount


Quest-ce que le self en Python ? Exemples concrets

Quest-ce que le self en Python ? Exemples concrets

Qu'est-ce que le self en Python ? Exemples concrets

Comment enregistrer et charger un fichier RDS dans R

Comment enregistrer et charger un fichier RDS dans R

Vous apprendrez à enregistrer et à charger des objets à partir d'un fichier .rds dans R. Ce blog expliquera également comment importer des objets de R vers LuckyTemplates.

First N Business Days Revisited - Une solution de langage de codage DAX

First N Business Days Revisited - Une solution de langage de codage DAX

Dans ce didacticiel sur le langage de codage DAX, découvrez comment utiliser la fonction GENERATE et comment modifier dynamiquement le titre d'une mesure.

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Ce didacticiel explique comment utiliser la technique Multi Threaded Dynamic Visuals pour créer des informations à partir de visualisations de données dynamiques dans vos rapports.

Introduction au filtrage du contexte dans LuckyTemplates

Introduction au filtrage du contexte dans LuckyTemplates

Dans cet article, je vais parcourir le contexte du filtre. Le contexte de filtrage est l'un des principaux sujets que tout utilisateur de LuckyTemplates doit d'abord connaître.

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Je souhaite montrer comment le service en ligne LuckyTemplates Apps peut aider à gérer différents rapports et informations générés à partir de diverses sources.

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Découvrez comment calculer les modifications de votre marge bénéficiaire à l'aide de techniques telles que la création de branches de mesure et la combinaison de formules DAX dans LuckyTemplates.

Idées de matérialisation pour les caches de données dans DAX Studio

Idées de matérialisation pour les caches de données dans DAX Studio

Ce didacticiel abordera les idées de matérialisation des caches de données et comment elles affectent les performances des DAX dans la fourniture de résultats.

Rapports dentreprise à laide de LuckyTemplates

Rapports dentreprise à laide de LuckyTemplates

Si vous utilisez encore Excel jusqu'à présent, c'est le meilleur moment pour commencer à utiliser LuckyTemplates pour vos besoins en matière de rapports commerciaux.

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Qu'est-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir