Comment masquer une numpy tableau 2D?

Dire que j'ai un tableau à deux dimensions de coordonnées qui ressemble à quelque chose comme

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

Précédemment dans mon travail jusqu'à présent, j'ai généré un masque qui finit par ressembler à

mask = [False,False,True]

Lorsque j'essaie d'utiliser ce masque sur le 2D coordonner vecteur, j'obtiens une erreur

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

qui fait sens, je suppose. J'ai donc essayé d'utiliser simplement le masque suivant à la place:

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

Et ce que je reçois est proche:

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

à ce que je m'attends (et l'envie):

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

Il doit y avoir un moyen plus facile de faire cela?

OriginalL'auteur Anonymous | 2016-07-05