Moving Average mit if condition
Verfasst: Mittwoch 25. Mai 2022, 09:51
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
So habe ich erstmal den gleitenden Mittelwert bestimmt.
Jetzt möchte ich mit
Ich schaffe es aber nicht "n_zuletzt_gemittelt" vernünftig zu definieren...
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()
Jetzt möchte ich mit
Code: Alles auswählen
df['column1'] = df[(df.value > 0.9*n_zuletzt_gemittelt)