¿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?