I will go over your PR carefully to make sure we can agree on a
matching API. After that, we can swap the backend out whenever I get
around to it.

Thanks for working on this.

    -Joe

On Thu, Aug 3, 2017 at 5:36 PM, Chun-Wei Yuan <chunwei.y...@gmail.com> wrote:
> Cool.  Just as a heads up, for my algorithm to work, I actually need the
> indices, which is why argsort() is so important to me.  I use it to get both
> ap_sorted and ws_sorted variables.  If your weighted-quantile algo is faster
> and doesn't require those indices, please by all means change my
> implementation.  Thanks.
>
> On Thu, Aug 3, 2017 at 11:10 AM, Joseph Fox-Rabinovitz
> <jfoxrabinov...@gmail.com> wrote:
>>
>> Not that I know of. The algorithm is very simple, requiring a
>> relatively small addition to the current introselect algorithm used
>> for `np.partition`. My biggest hurdle is figuring out how the calling
>> machinery really works so that I can figure out which input type
>> permutations I need to generate, and how to get the right backend
>> running for a given function call.
>>
>>     -Joe
>>
>> On Thu, Aug 3, 2017 at 1:00 PM, Chun-Wei Yuan <chunwei.y...@gmail.com>
>> wrote:
>> > Any way I can help expedite this?
>> >
>> > On Fri, Jul 21, 2017 at 4:42 PM, Chun-Wei Yuan <chunwei.y...@gmail.com>
>> > wrote:
>> >>
>> >> That would be great.  I just used np.argsort because it was familiar to
>> >> me.  Didn't know about the C code.
>> >>
>> >> On Fri, Jul 21, 2017 at 3:43 PM, Joseph Fox-Rabinovitz
>> >> <jfoxrabinov...@gmail.com> wrote:
>> >>>
>> >>> While #9211 is a good start, it is pretty inefficient in terms of the
>> >>> fact that it performs an O(nlogn) sort of the array. It is possible to
>> >>> reduce the time to O(n) by using a similar partitioning algorithm to
>> >>> the one
>> >>> in the C code of percentile. I will look into it as soon as I can.
>> >>>
>> >>>     -Joe
>> >>>
>> >>> On Fri, Jul 21, 2017 at 5:34 PM, Chun-Wei Yuan
>> >>> <chunwei.y...@gmail.com>
>> >>> wrote:
>> >>>>
>> >>>> Just to provide some context, 9213 actually spawned off of this guy:
>> >>>>
>> >>>> https://github.com/numpy/numpy/pull/9211
>> >>>>
>> >>>> which might address the weighted inputs issue Joe brought up.
>> >>>>
>> >>>> C
>> >>>>
>> >>>> On Fri, Jul 21, 2017 at 2:21 PM, Joseph Fox-Rabinovitz
>> >>>> <jfoxrabinov...@gmail.com> wrote:
>> >>>>>
>> >>>>> I think that there would be a very good reason to have a separate
>> >>>>> function if we were to introduce weights to the inputs, similarly to
>> >>>>> the way
>> >>>>> that we have mean and average. This would have some (positive)
>> >>>>> repercussions
>> >>>>> like making weighted histograms with the Freedman-Diaconis binwidth
>> >>>>> estimator a possibility. I have had this change on the back-burner
>> >>>>> for a
>> >>>>> long time, mainly because I was too lazy to figure out how to
>> >>>>> include it in
>> >>>>> the C code. However, I will take a closer look.
>> >>>>>
>> >>>>> Regards,
>> >>>>>
>> >>>>>     -Joe
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>> On Fri, Jul 21, 2017 at 5:11 PM, Chun-Wei Yuan
>> >>>>> <chunwei.y...@gmail.com>
>> >>>>> wrote:
>> >>>>>>
>> >>>>>> There's an ongoing effort to introduce quantile() into numpy.
>> >>>>>> You'd
>> >>>>>> use it just like percentile(), but would input your q value in
>> >>>>>> probability
>> >>>>>> space (0.5 for 50%):
>> >>>>>>
>> >>>>>> https://github.com/numpy/numpy/pull/9213
>> >>>>>>
>> >>>>>> Since there's a great deal of overlap between these two functions,
>> >>>>>> we'd like to solicit opinions on how to move forward on this.
>> >>>>>>
>> >>>>>> The current thinking is to tolerate the redundancy and keep both,
>> >>>>>> using one as the engine for the other.  I'm partial to having
>> >>>>>> quantile
>> >>>>>> because 1.) I prefer probability space, and 2.) I have a PR waiting
>> >>>>>> on
>> >>>>>> quantile().
>> >>>>>>
>> >>>>>> Best,
>> >>>>>>
>> >>>>>> C
>> >>>>>>
>> >>>>>> _______________________________________________
>> >>>>>> NumPy-Discussion mailing list
>> >>>>>> NumPy-Discussion@python.org
>> >>>>>> https://mail.python.org/mailman/listinfo/numpy-discussion
>> >>>>>>
>> >>>>>
>> >>>>>
>> >>>>> _______________________________________________
>> >>>>> NumPy-Discussion mailing list
>> >>>>> NumPy-Discussion@python.org
>> >>>>> https://mail.python.org/mailman/listinfo/numpy-discussion
>> >>>>>
>> >>>>
>> >>>>
>> >>>> _______________________________________________
>> >>>> NumPy-Discussion mailing list
>> >>>> NumPy-Discussion@python.org
>> >>>> https://mail.python.org/mailman/listinfo/numpy-discussion
>> >>>>
>> >>>
>> >>>
>> >>> _______________________________________________
>> >>> NumPy-Discussion mailing list
>> >>> NumPy-Discussion@python.org
>> >>> https://mail.python.org/mailman/listinfo/numpy-discussion
>> >>>
>> >>
>> >
>> >
>> > _______________________________________________
>> > NumPy-Discussion mailing list
>> > NumPy-Discussion@python.org
>> > https://mail.python.org/mailman/listinfo/numpy-discussion
>> >
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion@python.org
>> https://mail.python.org/mailman/listinfo/numpy-discussion
>
>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@python.org
> https://mail.python.org/mailman/listinfo/numpy-discussion
>
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@python.org
https://mail.python.org/mailman/listinfo/numpy-discussion

Reply via email to