[Numpy-discussion] How to find indices of values in an array (indirect in1d) ?

Andy Ray Terrel andy.terrel at gmail.com
Wed Dec 30 10:02:00 EST 2015


Using pandas one can do:

>>> A = np.array([2,0,1,4])
>>> B = np.array([1,2,0])
>>> s = pd.Series(range(len(B)), index=B)
>>> s[A].values
array([  1.,   2.,   0.,  nan])



On Wed, Dec 30, 2015 at 8:45 AM, Nicolas P. Rougier <
Nicolas.Rougier at inria.fr> wrote:

>
> I’m scratching my head around a small problem but I can’t find a
> vectorized solution.
> I have 2 arrays A and B and I would like to get the indices (relative to
> B) of elements of A that are in B:
>
> >>> A = np.array([2,0,1,4])
> >>> B = np.array([1,2,0])
> >>> print (some_function(A,B))
> [1,2,0]
>
> # A[0] == 2 is in B and 2 == B[1] -> 1
> # A[1] == 0 is in B and 0 == B[2] -> 2
> # A[2] == 1 is in B and 1 == B[0] -> 0
>
> Any idea ? I tried numpy.in1d with no luck.
>
>
> Nicolas
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> https://mail.scipy.org/mailman/listinfo/numpy-discussion
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20151230/e712fbd3/attachment.html>


More information about the NumPy-Discussion mailing list