Moving Average mit if condition

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
juliamib
User
Beiträge: 1
Registriert: Mittwoch 25. Mai 2022, 09:34

Hallo, ich habe einen Satz Daten in einem Dataframe, in dem die Werte in jeder Spalte einen(konstanten) Endwert annehmen. Um den herauszufinden, habe ich einen gleitenden Mittelwert eingeführt. Die gleitenden Mittelwerte, die sich nicht mehr als 10% vom vorherigen unterscheiden, sollen einen gemeinsamen Mittelwert bilden.
Bsp:

index |cloumn 1 |column 2
1 | 20 | 21
2 | 23 | 23.2
3 | 23.5 | 23.8
4 | 23.9 | 24.2
5 | 24.3 | 24.4
6| 24.5|24.7
8|24.8|24.9
9|25|25
10|25|25
11|25|25.1
12|25.1|24.9 etc. ab jetzt bleiben die Werte ungefähr um 25

Code: Alles auswählen

df['column1'] = df['column1'].tail(n=6)
df['column1'] = df['column1'].rolling(3).mean()
So habe ich erstmal den gleitenden Mittelwert bestimmt.
Jetzt möchte ich mit

Code: Alles auswählen

df['column1'] = df[(df.value > 0.9*n_zuletzt_gemittelt)
Ich schaffe es aber nicht "n_zuletzt_gemittelt" vernünftig zu definieren...
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

Suchst Du nach `diff`?
Antworten