Скажем, вы начинаете с
s = pd.Series([1, 2, 1, 4, 2000, 2])
Затем, используя rolling
, следующее покажет вам, что 5-й элемент находится на расстоянии 200 от медианы окна длины-3:
(s - s.rolling(3).median()).abs() > 200
0 False
1 False
2 False
3 False
4 True
5 False
dtype: bool
Он векторизован и поэтому должен быть намного быстрее, чем for
loop.