[Numpy-discussion] extract elements of an array that are contained in another array?

josef.pktd at gmail.com josef.pktd at gmail.com
Wed Jun 3 20:45:10 EDT 2009


On Wed, Jun 3, 2009 at 8:29 PM, Ning Sean <ningsean at gmail.com> wrote:
> Hi, I want to extract elements of an array (say, a) that are contained in
> another array (say, b). That is, if a=array([1,1,2,3,3,4]), b=array([1,4]),
> then I want array([1,1,4]).
>
> I did the following but the speed is very slow (maybe because a is very
> long):
>
> c=array([])
> for x in b:
>    c=append(c,a[a==x])
>
> any way to speed it up?
>
> Thanks!
> -Ning
>


It's waiting in Trac for inclusion in numpy
http://projects.scipy.org/numpy/ticket/1036
The current version only handles arrays with unique elements.

You can copy the ticket attachment, the version there is very fast.

Josef



More information about the NumPy-Discussion mailing list