我有一个形状为(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/