¿Cómo enmascarar adecuadamente una matriz 2D numpy?

Digamos que tengo una matriz bidimensional de coordenadas que se parece a

x = array([[1,2],[2,3],[3,4]])

Anteriormente en mi trabajo hasta ahora, generé una máscara que termina pareciendo algo así

mask = [False,False,True]

Cuando intento usar esta máscara en el vector de coordenadas 2D, aparece un error

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.`

lo cual tiene sentido, supongo. Así que intenté simplemente usar la siguiente máscara en su lugar:

mask2 = np.column_stack((mask,mask))
newX = np.ma.compressed(np.ma.masked_array(x,mask2))

Y lo que obtengo está cerca:

>>>array([1,2,2,3])

a lo que esperaría (y quiero):

>>>array([[1,2],[2,3]])

Debe haber una manera más fácil de hacer esto?

Respuestas a la pregunta(4)

Su respuesta a la pregunta