确定两个numpy数组在Python中相交的参数

ast*_*ada 6 python arrays indexing numpy set

我有两个数组,说:

a, b = np.array([13., 14., 15., 32., 33.]), np.array([15., 16., 17., 33., 34., 47.])
Run Code Online (Sandbox Code Playgroud)

我需要找到b中不存在的所有元素的索引.在上面的例子中,结果将是:

[0, 1, 3]
Run Code Online (Sandbox Code Playgroud)

因为a [0],a [1]和a [3]是13.,14和32.,它们在b中不存在.请注意,我不知道13,14和32的实际值.(在这种情况下,我可以使用set(a).difference(set(b))).我真的只对指数感兴趣.

如果可能,答案应该是"矢量化",即不使用for循环.

crs*_*s17 3

您可以使用np.in1d

>>> np.arange(a.shape[0])[~np.in1d(a,b)].tolist()
  [0, 1, 3]
Run Code Online (Sandbox Code Playgroud)