Hi Aron, There is an implementation of nanpercentile for ndarray in xclim[0]. See `calc_perc`[1] Bear in mind it's not exposed in the public API, so I would only use it as an example implementation. You may also find a performance script and report (quite poorly written, sorry) on a gist[2]. I'm not sure how accurate it is against the latest numpy version.
Plus the interpolation configuration is limited to the 9 methods of R through alpha and beta parameter (similar to scipy `mquantiles`). Thus, you can't use "nearest", "lower", "higher", "midpoint" methods but: - "linear" (np default) would be alpha=1 and beta=1. - "median_unbiased" (recommended default [3]) would be alpha=1/3 and beta=1/3. Cheers, Abel Aoun [0] https://github.com/Ouranosinc/xclim [1] https://github.com/Ouranosinc/xclim/blob/master/xclim/core/utils.py#L240 [2] https://gist.github.com/bzah/2a84d050b8a1aed1b40a2ed1526e1f12 [3] https://www.researchgate.net/publication/222105754_Sample_Quantiles_in_Statistical_Packages ----- Mail original ----- De: "Aron Gergely" <aron.gerg...@rasterra.nl> À: "Discussion of Numerical Python" <numpy-discussion@python.org> Envoyé: Vendredi 16 Septembre 2022 10:56:28 Objet: [Numpy-discussion] Ways to achieve faster np.nanpercentile() calculation? Hi all, On my system, np.nanpercentile() is orders of magnitude (>100x) slower than np.percentile(). I use numpy 1.23.1 Wondering if there is a way to speed it up. I came across this workaround for 3D arrays: https://krstn.eu/np.nanpercentile()-there-has-to-be-a-faster-way/ But I would need a generalized solution that works on N dimensions. So I started adopting the above - but wondering if I am reinventing the wheel here? Is there already a python package that implements a speedier nanpercentile for numpy? (similar idea as the 'Bottleneck' package?) Or other known workarounds to achieve the same result? Best regards, Aron _______________________________________________ NumPy-Discussion mailing list -- numpy-discussion@python.org To unsubscribe send an email to numpy-discussion-le...@python.org https://mail.python.org/mailman3/lists/numpy-discussion.python.org/ Member address: a...@cerfacs.fr _______________________________________________ NumPy-Discussion mailing list -- numpy-discussion@python.org To unsubscribe send an email to numpy-discussion-le...@python.org https://mail.python.org/mailman3/lists/numpy-discussion.python.org/ Member address: arch...@mail-archive.com