-
- Notifications
You must be signed in to change notification settings - Fork 19.4k
Closed
Labels
Description
Feature Type
-
Adding new functionality to pandas
-
Changing existing functionality in pandas
-
Removing existing functionality in pandas
Problem Description
I wish I could use a pipe method on a rolling object for speeding up operations that require multiple vectorized (terminology?) operations on a rolling object.
Feature Description
import pandas as pd import numpy as np n_samples = 60*60*2 # 2 hours start_ts = pd.Timestamp("2022-01-01") end_ts = start_ts + pd.Timedelta(f"{n_samples}s") s = pd.Series( np.random.normal(0, 1, size=n_samples), index=pd.date_range(start_ts, end_ts, freq="1s", inclusive="left") ).rolling("1T").pipe(lambda r: r.std()/r.mean())Alternative Solutions
I'm not aware of any.
Additional Context
Maybe a bit silly, but I've seen recommendation to used chained operations when possible. I tend to like the style, but I haven't figured out an easy way to do this particular operation without a performance hit.
I could be misinterpreting how pipe actually works, but I think it might be equivalent to calc(r) performance wise?
Thank you for taking a look!
