Numpy,过滤器行是否使用1,0值的掩码?

Numpy,过滤器行是否使用1,0值的掩码?,numpy,Numpy,Opencv有时会返回一个用于过滤的掩码 给出数组A=[[1,2],[3,4],[5,6]] 和掩码mask=[1,0,1] 我应该如何应用掩码来获得[[1,2],[5,6]] 我试过A[mask==1]但它说维度不匹配 np.where和np.nonzero似乎也不起作用 编辑: 结果是,A[mask==1]有效, 在我面对的真实情况中,mask.shape是(n,1),但不是(n,) 那额外的1导致了麻烦。 挤压解决了这个问题像这样吗 A = np.array([[1,2],[3,4],[5

Opencv有时会返回一个用于过滤的掩码

给出数组
A=[[1,2],[3,4],[5,6]]

和掩码
mask=[1,0,1]

我应该如何应用掩码来获得
[[1,2],[5,6]]

我试过
A[mask==1]
但它说维度不匹配

np.where
np.nonzero
似乎也不起作用

编辑:

结果是,
A[mask==1]
有效,
在我面对的真实情况中,
mask.shape
(n,1)
,但不是
(n,)

那额外的1导致了麻烦。
挤压解决了这个问题

像这样吗

A = np.array([[1,2],[3,4],[5,6]])
mask = np.array[1,0,1])
>>> A[np.where(mask==1),:]
array([[[1, 2],
        [5, 6]]])
两者

mask=mask.nonzero()
res=一个[面具]

mask=mask.astype(bool)
res=一个[面具]

应该有用

你能解释一下你所说的“这是真实情况…”的意思吗?还有,我的答案正确吗?我实际得到的面具像[[1,0,1]],但不是[1,0,1],这导致了问题。感谢您听到
np.squence()
解决了这个问题!当然,您也可以使用
.flant()
np.ravel()