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循环.
您可以使用np.in1d:
>>> np.arange(a.shape[0])[~np.in1d(a,b)].tolist()
[0, 1, 3]
Run Code Online (Sandbox Code Playgroud)