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?

questionAnswers(4)

yourAnswerToTheQuestion