[PYTHON] Pandas: Ein sehr einfaches Beispiel für DataFrame.rolling ()

http://pandas.pydata.org/pandas-docs/stable/groupby.html Beim Lesen hier kam plötzlich eine Funktion namens rolling () heraus. Ich war verwirrt, selbst wenn ich mir die API-Referenz ansah. Was für eine Methode ist das mit einem einfachen Beispiel? Ich werde es schnappen.

Versuchen Sie es zunächst angemessen.

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

Wie Sie aus Out [5] sehen können, werden "rollende ()" und "mittlere ()" verwendet, um den Durchschnittswert jedes Elements der "Serie s" (einschließlich dieses Elements) für die vorherigen drei zu berechnen. Kann gemacht werden. Das heißt, der gleitende Durchschnittswert wird berechnet. Wenn man beispielsweise "index = 3" betrachtet, sind die Werte der Elemente von "index = 1,2,3" jeweils "1,2,3", so dass der Durchschnittswert dieser drei "2,0" ist. .. Für die Elemente von "index = 0, 1" wird Nan ohne Berechnung ausgegeben, da vorher nicht genügend Elemente erforderlich sind.

Es ist "Fenster", das die Anzahl der zu berechnenden Elemente bestimmt, indem es zu "Index" zurückkehrt, und "min_periods", das die Mindestanzahl von Elementen angibt, die erforderlich sind, um ein gültiges Berechnungsergebnis zu erhalten. Wenn Sie also den Durchschnitt von 4 Elementen erhalten und das Ergebnis ausgeben möchten, wenn mindestens 2 Elemente vorhanden sind, können Sie Folgendes angeben.

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

Wenn "center = True" gesetzt ist, werden "index" als Startpunkt und "window" -Elemente vor und nach der Berechnung berechnet.

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: Ein sehr einfaches Beispiel für DataFrame.rolling ()
Ein sehr einfaches Beispiel für ein Optimierungsproblem mit ortoolpy
Implementierung eines einfachen Partikelfilters
Eine kleine Überprüfung von Pandas 1.0 und Dask
[Pandas_flavor] Fügen Sie eine Methode von Pandas DataFrame hinzu
Beispiel für eine effiziente Datenverarbeitung mit PANDAS
Einfaches Implementierungsbeispiel für eine Art der Datenerweiterung
Beschleunigen Sie eine große Anzahl einfacher Abfragen in MySQL
Implementierungsbeispiel eines einfachen LISP-Verarbeitungssystems (Python-Version)
Super einfach: Eine Sammlung von Shells, die Daten ausgeben
Grundlegende Bedienung von Pandas
Beispiel für die Verwendung von Lambda
Eine einfache Python-Implementierung der k-Neighborhood-Methode (k-NN)
Es ist schwer, einen sehr einfachen Algorithmus in PHP zu schreiben
Eine Sammlung von Methoden, die beim Aggregieren von Daten mit Pandas verwendet werden