我有一个形状为(1000, 12, 30)的3d数组,并且有一个形状为(12, 30)的2d数组的列表,我想做的是检查3d数组中是否存在这些2d数组。 Python中有一种简单的方法可以做到这一点吗?我尝试了关键字in,但是它不起作用。

最佳答案

numpy中有一种方法,您可以使用np.all

a = np.random.rand(3, 1, 2)
b = a[1][0]
np.all(np.all(a == b, 1), 1)
Out[612]: array([False,  True, False])

来自bnaecker的解决方案
np.all(a == b, axis=(1, 2))

如果只想检查退出
np.any(np.all(a == b, axis=(1, 2)))

关于python - 检查2d数组在Python中的3d数组中是否存在?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50146279/

10-10 10:39