[PYTHON] Pandas: un exemple très simple de DataFrame.rolling ()

http://pandas.pydata.org/pandas-docs/stable/groupby.html Pendant que je lisais ici, une fonction appelée rolling () est soudainement sortie. J'étais confus même si je regardais la Référence API, alors quel type de méthode est-ce avec un exemple simple? Je vais l'attraper.

Tout d'abord, essayez de l'utiliser de manière appropriée.

In [1]: import pandas as pd

In [2]: import numpy as np

In [3]: s = pd.Series(range(0,7))

In [4]: s
Out[4]: 
0    0
1    1
2    2
3    3
4    4
5    5
6    6
dtype: int64

In [5]: s.rolling(window=3, min_periods=3).mean()
Out[5]: 
0    NaN
1    NaN
2    1.0
3    2.0
4    3.0
5    4.0
6    5.0
dtype: float64

Comme vous pouvez le voir dans Out [5], rolling () et mean () sont utilisés pour calculer la valeur moyenne de chaque élément de Series s (y compris cet élément) pour les trois précédents. Peut être fait. Autrement dit, la valeur moyenne mobile est calculée. Par exemple, en regardant ʻindex = 3, les valeurs des éléments de ʻindex = 1,2,3 sont 1,2,3, respectivement, donc la valeur moyenne de ces trois, 2.0, est sortie. .. Quant aux éléments de ʻindex = 0, 1`, Nan est sorti sans calcul car il n'y a pas assez d'éléments requis avant cela.

Window détermine le nombre d'éléments à calculer en retournant à ʻindex, et min_periods` spécifie le nombre minimum d'éléments requis pour obtenir un résultat de calcul valide. Donc, si vous souhaitez obtenir la moyenne de 4 éléments et afficher le résultat s'il y a au moins 2 éléments, vous pouvez spécifier comme suit.

In [6]: s.rolling(window=4, min_periods=2).mean()
Out[6]: 
0    NaN
1    0.5
2    1.0
3    1.5
4    2.5
5    3.5
6    4.5
dtype: float64

De plus, si center = True est défini, les éléments window incluant ʻindex` comme point de départ et avant et après il sont calculés.

In [7]: s.rolling(window=3, min_periods=3, center=True).mean()
Out[7]: 
0    NaN
1    1.0
2    2.0
3    3.0
4    4.0
5    5.0
6    NaN
dtype: float64

Recommended Posts

Pandas: un exemple très simple de DataFrame.rolling ()
Un exemple très simple de problème d'optimisation avec ortoolpy
Mise en place d'un filtre à particules simple
Un petit examen minutieux de Pandas 1.0 et Dask
[Pandas_flavor] Ajouter une méthode de Pandas DataFrame
Exemple de traitement efficace des données avec PANDAS
Exemple d'implémentation simple d'un type d'augmentation de données
Accélérez un grand nombre de requêtes simples dans MySQL
Exemple d'implémentation d'un système de traitement LISP simple (version Python)
Super simple: une collection de shells qui produisent des dates
Fonctionnement de base des pandas
À propos de MultiIndex of Pandas
Exemple d'utilisation de lambda
Une implémentation Python simple de la méthode k-voisinage (k-NN)
Il est difficile d'écrire un algorithme très simple en php
Une collection de méthodes utilisées lors de l'agrégation de données avec des pandas