Betrachten ich einen Datenrahmen von 10 Reihen haben, die zwei Spalten A und B, wie folgend:Pandas - exponentiell gewichteten gleitenden Durchschnitt - ähnlich wie Excel
A B
0 21 6
1 87 0
2 87 0
3 25 0
4 25 0
5 14 0
6 79 0
7 70 0
8 54 0
9 35 0
in Excel ich die rolling
mean
wie dies ohne Berechnung kann der erste Reihe:
Wie kann ich das in Pandas machen? Hier
ist, was ich versucht habe:
import pandas as pd
df = pd.read_clipboard() #copying the dataframe given above and calling read_clipboard will get the df populated
for i in range(1, len(df)):
df.loc[i, 'B'] = df[['A', 'B']].loc[i-1].mean()
Das gibt mir das gewünschte Ergebnis passende Excel. Aber gibt es einen besseren Pandas Weg, es zu tun? Ich habe versucht, mit expanding
und rolling
nicht das gewünschte Ergebnis zu produzieren.
Ich bin ein wenig verwirrt, was Sie hier anstreben. Ein "normaler" gleitender Durchschnitt der Reihe A mit beispielsweise einer Fensterlänge von 2 hätte die Formel = DURCHSCHNITT (A2: A1) in Zelle B2 und nicht = MITTELWERT (A1, B1), vorausgesetzt, Sie haben bereits akzeptiert eine Antwort, ich nehme an, du hast genau das bekommen, wonach du gesucht hast, aber es wäre cool, wenn du die Zeit finden würdest, einige Details zu liefern. – vestland
Ich versuche Heiken-Ashi Kerzen zu erstellen. Aktueller Balkenöffnungswert ist der Durchschnitt des Öffnungs- und Schließwerts des vorherigen Balkens. Weitere Informationen finden Sie unter diesem Link https://www.quantiacs.com/Blog/Intro-to-Algorithmic-Trading-with-Heikin-Ashi.aspx – Abbas