Como mascarar adequadamente uma matriz 2D numpy?
Digamos que eu tenho uma matriz bidimensional de coordenadas que se parece com
x = array([[1,2],[2,3],[3,4]])
Anteriormente, em meu trabalho até agora, eu criei uma máscara que acaba parecendo algo como
mask = [False,False,True]
Quando tento usar essa máscara no vetor de coordenadas 2D, recebo um erro
newX = np.ma.compressed(np.ma.masked_array(x,mask))
>>>numpy.ma.core.MaskError: Mask and data not compatible: data size
is 6, mask size is 3.`
o que faz sentido, suponho. Então, tentei simplesmente usar a seguinte máscara:
mask2 = np.column_stack((mask,mask))
newX = np.ma.compressed(np.ma.masked_array(x,mask2))
E o que recebo está próximo:
>>>array([1,2,2,3])
para o que eu esperaria (e quero):
>>>array([[1,2],[2,3]])
Deve haver uma maneira mais fácil de fazer isso?