On 2017-05-09 07:39 PM, Stephan Hoyer wrote:
On Tue, May 9, 2017 at 9:46 AM, Martin Spacek <nu...@mspacek.mm.st
<mailto:nu...@mspacek.mm.st>> wrote:

    Looking at my own habits and uses, it seems to me that finding the indices
    of matching values of one array in another is a more common use case than
    finding insertion indices of one array into another sorted array. So, I
    propose that np.search(), or something like it, could be even more useful
    than np.searchsorted().


The current version of this PR only returns the indices of the /first/ match
(rather than all matches), which is an important detail. I would strongly
consider including that detail in the name (e.g., by calling this "find_first"
rather than "search"), because my naive expectation for a method called "search"
is to find all matches.

In any case, I agree that this functionality would be welcome. Getting the
details right for a high performance solution is tricky, and there is strong
evidence of interest given the 200+ upvotes on this StackOverflow question:
http://stackoverflow.com/questions/432112/is-there-a-numpy-function-to-return-the-first-index-of-something-in-an-array


Good point about it only finding the first hit. However, `np.find_first` sounds a bit awkward to me. I've updated the PR to have a `which` kwarg that specifies whether it should return the first or last hit for values in `v` that have multiple hits in `a`.

https://github.com/numpy/numpy/pull/9055

Not sure if I already mentioned this somewhere, but we might also consider naming this `np.index` due to its analogous behaviour to the Python list method `.index()`.

Martin
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@python.org
https://mail.python.org/mailman/listinfo/numpy-discussion

Reply via email to