Re: [Pandas-dev] Proposal to include Numba as a required dependency for rolling operations
Hi Matthew, That looks very exciting. Have you seen Numbagg? That already has some rolling algos implemented over n-dimensions, and pandas could easily take those over 1-2 dimensions. It's authored by Stephan Hoyer. I added an exponential moving average so we could have a n-dimensional version in xarray, and basically copied the pandas implementation into numba-compatible code (and added attribution to pandas). Your implementation looks v interesting and looks flexible. To the extent we can share implementations of the underlying algos, that would be great. Max On Tue, 15 Oct 2019 at 12:00, <pandas-dev-request@python.org> wrote:
---------- Forwarded message ---------- From: Matthew Roeschke <emailformattr@gmail.com> To: pandas-dev <pandas-dev@python.org> Cc: Bcc: Date: Mon, 14 Oct 2019 23:21:12 -0700 Subject: [Pandas-dev] [pandas-dev] Proposal to include Numba as a required dependency for rolling operations Hello All,
I have been working on a proof of concept <https://github.com/twosigma/pandas/blob/feature/generalized_window_operation...> that implements rolling mean <https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.core.windo...> and rolling apply <https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.core.windo...> in Numba without changing the current pandas rolling API. Numba is an attractive substitute over the current Cython implementation as maintainable, pure Python code and potential performance improvements. Stemming from the proof of concept, I'd like to propose to add Numba as a required dependency in pandas 1.0 and have rolling mean dispatch to Numba.
Please see the associated GitHub issue <https://github.com/pandas-dev/pandas/issues/28987> for further details and discussion.
Thanks, Matt -- Matthew Roeschke <http://mroeschke.github.io>
_______________________________________________ Pandas-dev mailing list Pandas-dev@python.org https://mail.python.org/mailman/listinfo/pandas-dev
participants (1)
-
Maximilian Roos