Série chronologique Pandas

Série chronologique Pandas

De nombreuses séries chronologiques ont une fréquence définie, ce qui signifie que leurs points de données sont divisés en intervalles fixes comme chaque minute, chaque jour ou chaque semaine. Des intervalles incohérents peuvent également être présents dans la série chronologique. Une date représentée comme le temps peut faire partie d'une série chronologique de données. Les exemples horodomagistes incluent une date comme le 07 août 2022, à 12h00. Une série temporelle dans Python est une série / collection de points de données où chacun a un horodat. En bourse, le prix de l'action à différents moments de la journée est un exemple réaliste. Même si les séries chronologiques sont également proposées par Sci-Kit-Learn, les Pandas fournissent une collection de fonctionnalités multiples. Nous pouvons ajouter l'heure et la date pour chaque enregistrement de ce module Pandas et obtenir les enregistrements de données de données. En utilisant le module de séries chronologiques Pandas, nous pouvons découvrir les données pour une gamme spécifique de dates et de temps. Pour expliquer l'analyse des séries chronologiques dans Pandas, parlons de plusieurs objectifs principaux.

Analyse des séries chronologiques Objectifs principaux

  • Création de la série Date
  • Travailler avec l'horodatage des données
  • Valeurs de chaîne / données à la conversion d'horodatage
  • Data Sincich à l'aide d'un horodatage pour différentes périodes de rééchantillonnage de la série chronologique
  • Déterminer les agrégats ou les statistiques sommaires
  • Gestion des données avec des valeurs manquantes

Pourquoi des pandas pour l'analyse des séries chronologiques?

Bien que la bibliothèque Pandas ait de nombreuses fonctionnalités utiles, Python propose des modules comme DateTime qui exécutent des opérations sur des données comme les dates et les heures. Ces modules sont utilisés plus fréquemment pour traiter les données de séries chronologiques. De plus, pour l'analyse des séries chronologiques, les pandas maintiennent la relation entre les bibliothèques. Lorsque les données sont horodatrices, les fonctionnalités des séries chronologiques de Pandas sont assez utiles. DateTime de Python équivaut à l'horodatage dans les pandas. Il est utilisé pour les entrées DatetimeIndex et autres structures de données Pandas TimeSeries. La structure de la série, indexée par l'horodatage, est la structure des séries chronologiques la plus élémentaire.

Comment créer une série chronologique de base Pandas

Pour créer une série temporelle simple, nous importerons d'abord les modules ou bibliothèques requis, tels que Pandas, Numpy et Datetime. L'heure et la date ne sont pas des types de données distincts dans Python, mais ils peuvent être gérés à l'aide du module DateTime, qui peut être importé. Il n'est pas nécessaire d'installer le module Python DateTime à l'extérieur car il est déjà inclus dans Python. Le module Python DateTime fournit des classes pour travailler avec la date et l'heure. Dans Pandas, nous manipulons la série chronologique en suivant les objectifs susmentionnés de l'analyse de la série chronologique.

Créons une liste contenant les objets DateTime.

Maintenant, nous allons créer une série en utilisant cette liste contenant les valeurs DateTime. Nous utiliserons les valeurs de date comme index de notre objet série.

Nous avons spécifié l'index de la série en utilisant le paramètre d'index à l'intérieur de la fonction série (). En extrayant l'indice de la série, nous pouvons déterminer son type.

Comme on peut le voir, la structure de données index de la variable est un DatatimeIndex.

Conversion de valeurs de chaîne ou de données en horodatage

Les valeurs de date ou d'heure peuvent être converties en différentes structures de données de séries chronologiques. Trois structures de données différentes peuvent être utilisées pour manipuler la série chronologique, i.e., horodatage, structure d'époque et structure Timedelta. DateTimeIndex et les objets horaires sont les plus courants de ces structures. La méthode to_datetime () peut convertir une date ou une série de dates particulières en horodatage.

La fonction a converti la valeur de date de chaîne en horodatage. Différents formats de date peuvent être convertis en objets DateTimeIndex à l'aide de la fonction to_datetime ().

Nous avons passé les données de date dans quatre formats différents à l'intérieur d'une liste, je.e., [Datetime (2022,6,8), «7 août 2022», «2022-juin 13», «20220406»]. Comme vous pouvez le remarquer, la fonction a converti avec succès chaque format dans l'objet DatatimeIndex. Nous pouvons également modifier la structure des données de la série chronologique. Pour ajouter des codes de fréquence, vous pouvez modifier DateTimeIndex en périodes de la méthode TO_PERIOD (). La valeur «D», par exemple, représente une fréquence quotidienne.

Les dates peuvent également être soustraites pour déterminer les jours entre eux.

Nous avons soustrait toutes les dates de la date à l'index 0. Un objet TimeDeltaindex est renvoyé, montrant les résultats comme une liste contenant le nombre de jours après la soustraction de chaque date avec la date à l'index 0.

Utilisation de la fonction date_range pour créer une série chronologique

Une série de dates peut être créée à l'aide de plusieurs fonctions dans Pandas. Pour les horodatages, nous pouvons utiliser date_range (). Pour la période, la période_range () et TimeDelta_Range () pour créer des données de delta de temps. La fonction date_range () obtiendra un DateTimeIndex avec une fréquence spécifiée. La méthode date_range () nécessite la date de début et la date de fin.

De plus, vous pouvez utiliser le paramètre de période à l'intérieur du date_range (). Vous n'avez qu'à spécifier la date de début pour accomplir cela. La fonction renvoie les données de la période et de la fréquence spécifiées. Le paramètre FREQ peut également être utilisé lors de la création d'une série chronologique à l'aide du date_range (). La fréquence par défaut de la méthode des dates est quotidienne. Nous pouvons utiliser la valeur «H», qui représente l'heure, pour obtenir la fréquence en heures.

Data Sincing à l'aide d'un horodatage

Nous allons d'abord créer un dataframe à l'aide du PD.Fonction DataFrame, et l'index sera spécifié comme DateTimeIndex.

Tout d'abord, nous avons créé une série temporelle, puis l'avons spécifié comme l'indice de notre DataFrame. Pour extraire les dates entre deux dates de séries chronologiques, nous utiliserons l'opérateur de tranche.

Bien que le dataframe de base que nous ayons créé contient des données avec une fréquence quotidienne, nous pouvons rééchantillonner les données et sélectionner comment calculer la statistique agrégée pour la fréquence spécifiée. Au lieu de calculer les données à une fréquence quotidienne, nous pouvons plutôt calculer les données à une fréquence mensuelle.

Trouver des statistiques sommaires

Ajoutez une nouvelle colonne dans notre trame de données d'origine calculant la somme de roulement sur une période de deux fenêtres. Nous pouvons utiliser les statistiques des fenêtres à rouler pour analyser et lisser les données de séries chronologiques. Pour générer une fenêtre de roulement sur la colonne DataFrame, nous utiliserons la méthode Rolling (). Alors la fonction sum () sera utilisée pour obtenir la somme de roulement.

Une nouvelle colonne «roll_sum» a été créée contenant les valeurs de somme de roulement de fenêtres spécifiées, i.e., 2.

Traitant des valeurs manquantes

Comme on peut l'observer, la colonne de somme de rouleau a une valeur manquante dans la première ligne. Nous pouvons être transférés ou rembourser les données lorsque nous traitons des valeurs de données manquantes. Nous allons créer une nouvelle colonne en utilisant les valeurs de somme de roulement pour remplir les données.

Nous avons remboursé la valeur manquante à l'aide de la fonction Fillna () et utilisé le paramètre de méthode à l'intérieur de la fonction. Il est utile de remplacer les données nuls par des valeurs réalistes, comme la moyenne d'une période. Cependant, n'oubliez pas que si vous avez affaire à une série temporelle et que vous souhaitez que vos statistiques soient réalistes, vous ne devriez pas remplir vos données, car cela serait l'équivalent de faire une prédiction et d'obtenir les informations que vous n'auriez pas à cela période.

Conclusion

Dans cet article, nous avons discuté de la série chronologique à Pandas. Nous avons discuté de la série chronologique, quels sont les principaux objectifs de l'analyse des séries chronologiques et pourquoi nous avons utilisé des pandas pour les séries chronologiques. Dans cet article, nous avons démontré comment effectuer une manipulation simple comme la création d'une série temporelle simple, des données de données à l'aide d'un horodat.