Change percent of rolling 5 secs window
Panda's dataframe has an inbuilt function rolling
where it provide rolling window calculations (non-exhaustively) such as:
- mean
- sum
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.rolling.html
If we want to calculate the change percent of rolling 5 secs window,
def rolling_chgpct(dataset):
if len(dataset) == 1:
return np.nan
first_data = dataset[0]
last_data = dataset[-1]
rchgpct = (last_data - first_data) / first_data
return rchgpct
# calculate chgpct of rolling 5 secs
df['rchgpct'] = df.rolling('5s').apply(rolling_chgpct)