numpy 使用二维数组的布尔索引

4uqofj5v  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(180)

我有两个数组,ab,一个2D和一个1D,包含以相同顺序填充的两个相关量的值,例如a[0]b[0]相关,依此类推。
我想访问b的元素,其中a等于给定值,其中的值是一维数组本身。
例如

a=np.array([[0,0],[0,1],[1,0],[1,1]])
b=np.array([0, 7, 9, 4])

value = np.array([0,1])

在一维情况下,我可以很容易地使用布尔索引

b[a==value]

我想要的结果是7
但在本例中,它不起作用,因为它在比较中检查b的每个元素,而不是检查子数组……
有什么快捷的方法可以做到这一点吗?

ibps3vxo

ibps3vxo1#

问题似乎与示例不匹配,但这将返回[7]

b[(a == value).all(axis=-1)]

相关问题