Linke Ausrichtung eines rollenden Pandas-Objekts
Mit pandas 0.18.1 möchte ich den gleitenden Durchschnitt eines einspaltigen Datenrahmens berechnen. Ab Version 0.18.0 erfolgt dies mit rolling () Objekten. Der Standard für diese rollenden Objekte ist rechtsbündig. Es gibt ein boolesches Argument, das Sie übergeben können: center = True, um das rollende Objekt am Mittelwert auszurichten, aber es scheint keine Möglichkeit zu geben, es nach links auszurichten. Hier ist ein Beispiel:
df = pandas.DataFrame({'A': [2,3,6,8,20, 27]})
df
A
0 2
1 3
2 6
3 8
4 20
5 27
Die Standardmethode wird automatisch nach rechts ausgerichtet, sodass bei den ersten beiden Indecies mit einem Fenster der Größe drei kein Wert vorhanden ist:
df.rolling(window=3).mean()
A
0 NaN
1 NaN
2 3.666667
3 5.666667
4 11.333333
5 18.333333
Wir können die Operation wie folgt zentrieren:
df.rolling(window=3).mean(center=True)
A
0 NaN
1 3.666667
2 5.666667
3 11.333333
4 18.333333
5 NaN
Aber was ich suche ist das:
df.rolling(3).mean()
A
0 3.666667
1 5.666667
2 11.333333
3 18.333333
4 NaN
5 NaN
Ich kann dies erreichen, indem ich es mit der Standardausrichtung nach rechts mache und es dann neu indiziere oder indem ich die Reihenfolge der Zeilen umdrehe und es dann "rechts ausrichte", aber dies sind Umgehungsmöglichkeiten für das, was eine Gerade sein sollte Vorwärtsbetrieb.