在两个3D numpy数组中查找匹配项

时间:2018-06-05 09:18:03

标签: python numpy multidimensional-array

我有两个包含黑白图像的3D阵列,其结构如下:image x pixels_height_values x pixels_width_values。我想保留数组1中不在数组2中的图像。我正在使用列表理解,但结果并不总是我所期望的。我举几个例子:

使用此代码,我得到了预期的结果:

np.random.seed(21)
array1 = np.random.randint(0, 257, 100).reshape((4, 5, 5))
array2 = array1[1:3,:,:]
print(array1)
print("----------------------------------------")
print(array2)
print("----------------------------------------")
print(np.stack([i for i in array1 if i not in array2]))

现在,只需将种子从21更改为42,以及因此像素的值,此方法不再有效(出现的错误是因为列表推导的结果为null,因此np。堆栈没有要堆叠的列表。)

有谁知道为什么会这样?

0 个答案:

没有答案