Pandas Rolling Groupby

Pandas Rolling Groupby
Le langage de programmation Python fournit une bibliothèque Pandas qui a de nombreuses méthodes qui remplissent des fonctions simples à complexes. Les pandas en python rendent l'analyse des données très simple et facile. De plus, c'est un langage très exceptionnel pour effectuer une enquête de données tout en fournissant un environnement incroyable de faisceaux Python axés sur l'information.

Dans cet article, nous discuterons de la fonction Pandas Rolling GroupBy dans Python. Ici, nous démontrerons quelques exemples utiles qui vous aideront à en savoir plus sur la fonction Pandas Rolling GroupBy et comment utiliser cette fonction dans Python Code. Alors, commençons par la définition de la fonction de roulement.

Qu'est-ce que les pandas roulent?

Les pandas fournissent plusieurs fonctions utiles et Rolling () est l'une de ces fonctions exceptionnellement bonnes qui sont capables d'effectuer des calculs complexes sur les données. La fonction Rolling () fournit un calcul de fenêtre de roulement sur les données d'entrée dans la série d'objets donnés. Le concept de fenêtre roulante est principalement utilisé dans les données de séries chronologiques ou le traitement du signal.

En d'autres termes, disons que nous avons pris une taille de fenêtre de «w» à la fois «t» et appliquée quelques opérations mathématiques. La taille «w» de la fenêtre signifie les valeurs consécutives «W» à la fois «t» où toutes les valeurs «w» sont pondérées.

Qu'est-ce qu'une fenêtre roulante?

Le concept de base d'une fenêtre roulante est de calculer les données de la date fournie au décalage de la fenêtre de roulement. Par exemple, disons qu'un employé est sur une fenêtre roulante de 6 mois, cela signifie qu'il obtient son salaire le 1er janvier de chaque année et un autre salaire le 1er juillet de chaque année. Simple, la fenêtre roulante est relative à la première date et en avant automatiquement avec le temps de fenêtre de roulement spécifié, dans notre exemple, c'est une fenêtre de roulement de 6 mois.

Comment la fonction Pandas Rolling () fonctionne-t-elle avec DataFrame?

La fonction Rolling () dans Python Pandas fournit les éléments du nombre de fenêtres à rouler. L'idée de la fenêtre roulante à Python est la même que l'idée générale d'une fenêtre roulante. En mots simples, l'utilisateur fournit une taille de fenêtre pondérée «W» à la fois et effectue des opérations mathématiques dessus.

Quelle est la syntaxe de la fonction de groupy roulant pandas?

Ci-dessous, vous pouvez trouver la fonction Syntaxe de Pandas Rolling GroupBy.

Comme vous pouvez le voir, la fonction Rolling () prend 8 paramètres; WindowSize, Minperiod, fréquence, centre, wintype, axe, et fermé.

Le paramètre 'windowsize' définit la taille de la fenêtre mobile qui est en mots simples, le nombre de fois où un calcul doit être effectué et par défaut, sa valeur est 1. Le paramètre «Minperiod» définit le nombre minimum d'observations requises dans une fenêtre définie. Le paramètre «fréquence» définit la fréquence des données avant d'effectuer des calculs statistiques. Le paramètre «Centre» définit l'étiquette au centre de la fenêtre.

Le paramètre «WinType» définit le type de fenêtre. Le paramètre «On» définit la colonne plutôt que l'index du dataframe sur lequel le calcul de la fenêtre de roulement doit être effectué. Le paramètre `` fermé '' définit quel intervalle doit être fermé, soit il est fermé sur «ni l'un ni l'autre», «gauche», «droite» ou les deux points d'extrémité.

Et enfin, le paramètre 'axe' fournit la valeur de l'axe au format entier ou à chaîne, et par défaut il est 0. Maintenant, passons aux exemples pour apprendre à inclure la fonction Rolling () dans notre code Python et comment la fonction Rolling () de Pandas dans Python fonctionne avec DataFrame.

Exemple 1

Maintenant, commençons par créer une simple dataframe que nous devons utiliser dans la fonction rolling (). 5 valeurs sont définies dans le dataframe qui sont 10, 18, 50, 70 et NP.nan. Après cela, nous appellerons simplement la fonction Rolling () et fournirons la taille de la fenêtre 3. Voici le code de la fonction de groupe Rolling Pandas:

Importer des pandas en tant que PD
Importer Numpy comme NP
df = pd.DataFrame ('z': [10, 18, 50, 70, np.nan])
Imprimer (DF.rouler (3).somme())

Ci-dessous est la sortie du code ci-dessus. Notez que les 2 premières valeurs sont NAN tandis que la troisième valeur est de 78, ce qui est la somme des 3 valeurs précédentes 10, 18 et 50. Comme nous avons fourni la taille de la fenêtre 3, la fonction de roulement a effectué la calculatrice après trois fenêtres. La quatrième valeur 138 est la somme de trois valeurs précédentes qui sont 18, 50 et 70. Notez que la dernière valeur est à nouveau nan, ce n'est pas parce que la taille de la fenêtre est expirée ou autre chose, c'est parce que la 5e valeur d'entrée est nan. Donc, tout ce qui ajoute à Nan sera nan.

Exemple 2

Nous avons vu un exemple simple de la fonction Rolling (), créons maintenant un type d'horodatage de données de données pour comprendre comment la fonction Rolling () fonctionne sur le type de date / heure des données. Ici, nous utiliserons le même DataFrame que nous avons créé dans l'exemple précédent, mais maintenant nous allons ajouter la colonne d'index spécifiant la valeur d'horodatage pour chaque colonne. Voir la colonne d'index supplémentaire dans le code ci-dessous:

Importer des pandas en tant que PD
Importer Numpy comme NP
df_time = pd.DataFrame ('b': [10, 18, 50, 70, np.nan],
index = [PD.Timestamp ('20220101 10:00:00'),
PD.Timestamp ('20220101 10:00:01'),
PD.Timestamp ('20220101 10:00:02'),
PD.Timestamp ('20220101 10:00:03'),
PD.Timestamp ('20220101 10:00:04')]))
df_time
imprimer (df_time.Rolling ('5s').somme())

Après avoir exécuté la fonction Rolling () des données d'horodatage, nous obtiendrons la sortie suivante:

Exemple 3

Dans cet exemple, nous vous aiderons à apprendre comment spécifier le Minperiod pour la fonction Rolling (). Comme discuté ci-dessus, le paramètre Minperiod de la fonction Rolling () définit le nombre minimum d'observations nécessaires pour effectuer l'opération mathématique. Ici, nous calculons à nouveau la somme avec la fenêtre roulante taille 3 et Minperiod 1. Voir le code ci-dessous:

Importer des pandas en tant que PD
Importer Numpy comme NP
df = pd.DataFrame ('z': [10, 18, 50, 70, np.nan])
Imprimer (DF.Rolling (2, min_periods = 1).somme())

Voici la sortie du code indiqué ci-dessus.

Conclusion

Dans cet article, nous avons démontré l'utilisation de la fonction Rolling () dans Python. À l'aide d'exemples simples, nous avons observé comment la fonction Rolling () fonctionne avec DataFrames. Tous les codes ci-dessus peuvent être implémentés sur n'importe quel compilateur de Python.