相当于'in'用于比较两个Numpy数组

Bre*_*dan 3 python numpy

在纯粹的,非实现的,我可以使用的Python,

>>> a = 9
>>> b = [5, 7, 12]
>>> a in b
False
Run Code Online (Sandbox Code Playgroud)

我想为Numpy中的数组做类似的事情

>>> a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
>>> b = np.array([5, 7, 12])
>>> a in b
np.array([False, False, False, False, True, False, True, False, False, False])
Run Code Online (Sandbox Code Playgroud)

......虽然这不起作用.

有没有实现这一目标的功能或方法?如果不是最简单的方法是什么?

kra*_*oti 8

您正在寻找in1d:

>>> import numpy as np
>>> a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
>>> b = np.array([5, 7, 12])
>>> np.in1d( a, b)
array([False, False, False, False,  True, False,  True, False, False, False], dtype=bool)
Run Code Online (Sandbox Code Playgroud)