← retour aux snippets

pandas: rolling apply custom

Appliquer une fonction sur fenêtres glissantes.

python pandas #pandas#rolling#apply

objectif

Appliquer une fonction sur fenêtres glissantes.

code minimal

import pandas as pd
s = pd.Series([1,2,3,4])
print(s.rolling(2).apply(lambda x: x.max()-x.min()).dropna().tolist())

utilisation

import pandas as pd
s = pd.Series([1,2,3])
print(s.rolling(window=2).mean().iloc[-1])

variante(s) utile(s)

import pandas as pd
s = pd.Series([1,2,3,4])
print(s.rolling(2, min_periods=1).sum().tolist() is not None)

notes

  • rolling(…, min_periods=1) garde les bords.