我有一个带有另一个数组的numpy数组,我想知道如何检查另一个numpy数组(或列表)的所有值是否与第一个相同。
array1 = np.array([[11,3,4,6,7,8,9,1,2], [6,7,2,1,9,5,3,4,8]])
array2 = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
我尝试使用array2 in np.sort(array1)
来执行此操作,但是它返回True。
我想在数组[11,3,4,6,7,8,9,1,2]的第一个数组中获得False,因为数字5不存在,而在第二个数字[1, [2、3、4、5、6、7、8、9]。 感谢您抽出宝贵的时间阅读并尝试提供帮助。
答案 0 :(得分:3)
您当前正在检查是否有任何数组匹配。
如果您想要False和True,则需要逐元素比较。通过列表理解来完成:
[all(array2 == arr) for arr in np.sort(array1)]
给出[False, True]
all()
之所以存在,是因为仅检查array2 == arr
就会为每个条目提供一个True / False列表,但我们希望完全匹配