我有一个排列在二维数组中的 N 维值数组。就像是:
import numpy as np
data = np.array([[[1,2],[3,4]],[[5,6],[1,2]]])
我还有一个值x
,我想与每个数据点进行比较,我想获得一个布尔值的二维数组,显示我的数据是否等于x
.
x = np.array([1,2])
如果我做:
data == x
我明白了
# array([[[ True, True],
# [False, False]],
#
# [[False, False],
# [ True, True]]], dtype=bool)
我可以轻松地将这些组合起来以获得我想要的结果。但是,我不想遍历这些切片中的每一个,尤其是在data.shape[2]
更大的时候。我正在寻找的是一种直接的获取方式:
array([[ True, False],
[False, True]])
对于这个看似简单的任务有什么想法吗?