NumPy: Comparing Elements in Two Arrays

numpy, python

Solution

Actually, there's an even simpler solution than any of these:

import numpy as np

a = array([1,2,3,4,5,6])
b = array([1,4,5])

c = np.in1d(a,b)

The resulting c is then:

array([ True, False, False,  True,  True, False], dtype=bool)

Problem

Anyone ever come up to this problem? Let's say you have two arrays like the following ``` a = array([1,2,3,4,5,6]) b = array([1,4,5]) ``` Is there a way to compare what elements in a exist in b? For example, ``` c = a == b # Wishful example here print c array([1,4,5]) # Or even better array([True, False, False, True, True, False]) ``` I'm trying to avoid loops as it would take ages with millions of elements. Any ideas? Cheers

Original source