le filtrage des lignes dans un tableau numpy selon les valeurs dans une plage

Laissez un tableau:

 a =np.array([[1,2],[3,-5],[6,-15],[10,7]])

d'obtenir des lignes avec des éléments de la deuxième colonne ci-dessus -6' possible de faire

>>> a[a[:,1]>-6]
array([[ 1,  2],
   [ 3, -5],
   [10,  7]])

mais comment obtenir des lignes avec le deuxième élément entre -6;3?
J'ai essayé:

>>> a[3>a[:,1]>-6]

et aussi (ce qui génère une erreur):

>>> np.ma.masked_inside(a,-6,3)

qui donne:

 masked_array(data =
 [[-- --]
  [-- --]
  [6 -15]
  [10 7]],
         mask =
  [[ True  True]
  [ True  True]
  [False False]
  [False False]],
   fill_value = 999999)

mais le résultat n'est pas trop clair

Merci
jp

OriginalL'auteur Jean-Pat | 2012-10-25