PERF: Improve performance in rolling.mean(engine=numba) by mroeschke · Pull Request #44176 · pandas-dev/pandas (original) (raw)
This also starts to add a shared aggregation function (sum) that can shared between rolling/groupby/DataFrame when using the numba engine.
df = pd.DataFrame(np.ones((10000, 1000)))
roll = df.rolling(10)
roll.sum(engine="numba", engine_kwargs={"nopython": True, "nogil": True, "parallel": True})
%timeit roll.sum(engine="numba", engine_kwargs={"nopython": True, "nogil": True, "parallel": True})
211 ms ± 12.2 ms per loop (mean ± std. dev. of 7 runs, 1 loop each) <- PR
424 ms ± 9.23 ms per loop (mean ± std. dev. of 7 runs, 1 loop each) <- master