Если вы хотите сохранить дубликаты, вы можете индексировать, используя in1d
:
>>> a = np.array([1,2,3,3])
>>> b = np.array([1,2])
>>> np.in1d(a, b) # Boolean array that says where a is in b
array([ True, True, False, False], dtype=bool)
>>> ~np.in1d(a, b)) # Boolean array that says where a is NOT in b
array([False, False, True, True], dtype=bool)
>>> a[~np.in1d(a, b)] # Use the Boolean array as index to get your answer
array([3, 3])