Python 在3D np阵列中搜索一维np阵列

Python 在3D np阵列中搜索一维np阵列,python,python-3.x,numpy,Python,Python 3.x,Numpy,在下面的示例中,我尝试在3D np数组中搜索1D np数组 import numpy as np a = np.array([[[1, 2], [3, 4]], [[5, 6], [3, 2]], [[2, 1], [7, 8]]]) b = np.array([1, 2]) print(np.all(a == b, axis=1)) # print(np.where(np.all(a == b, axis=(1,1)))) 我得

在下面的示例中,我尝试在3D np数组中搜索1D np数组

import numpy as np


a = np.array([[[1, 2], [3, 4]],
              [[5, 6], [3, 2]],
              [[2, 1], [7, 8]]])

b = np.array([1, 2])

print(np.all(a == b, axis=1))
# print(np.where(np.all(a == b, axis=(1,1))))
我得到的结果如下:

[[False False]
 [False False]
 [False False]]
这意味着我得到了布尔表的正确维度,但由于某些原因,结果不是预期的结果


提前谢谢你

您需要
轴=2
,即第三个轴:

np.all(a == b, axis=2)

[[ True False]
 [False False]
 [False False]]
或者,您可以为最后一个轴指定
axis=-1

np.all(a == b, axis=-1)

[[ True False]
 [False False]
 [False False]]