检查一个numpy数组中的所有元素是否都存在于第二个numpy数组中

时间:2013-05-24 09:59:08

标签: python numpy

有没有人有更多类似于numpy的方式来实现这个目标:

def uneven_compare(array1, array2):
    return numpy.all([numpy.any(array2 == elem) for elem in array1])

我只是想检查一个数组中的所有元素是否都存在于第二个数组中。

谢谢:)

1 个答案:

答案 0 :(得分:1)

使用numpy.in1d

In [6]: array1 = np.array([0, 1, 2, 5, 0])

In [7]: array2 = np.array([0, 10, 20, 1, 2, 30, 5])

In [8]: np.in1d(array1, array2)
Out[8]: array([ True,  True,  True,  True,  True], dtype=bool)

In [9]: np.all(np.in1d(array1, array2))
Out[9]: True