title: Numpy ndarray - how to select a row based on values for multiple columns
body: <p>I have a ndarray of x and y component of 2D speed values of an object, such as:</p>
  
  <pre><code>(Pdb) p highspeedentries
  array([[  0.  ,  52.57],
     [-40.58,  70.89],
     [-57.32,  76.47],
     [-57.92,  65.1 ],
     [-52.47,  96.68],
     [-45.58,  77.12],
     [-37.83,  69.52]])
  
  (Pdb) p type(highspeedentries)
  &lt;class 'numpy.ndarray'&gt;
  </code></pre>
  
  <p>I have to check if there is any row that contains a value higher than 55 for the first and second components in the row. I also need to take the absolute value for any negative speed component, but first I tried the following and all of them give errors.</p>
  
  <pre><code>(Pdb) p highspeedentries[highspeedentries[:,1] &gt; 55 and highspeedentries[0,:] &gt; 55]
  *** ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
  
  (Pdb) p highspeedentries[highspeedentries[:,1] &gt; 55 &amp; highspeedentries[0,:] &gt; 55]
  *** TypeError: ufunc 'bitwise_and' not supported for the input types, and the inputs could not be 
  safely coerced to any supported types according to the casting rule ''safe''
  
  (Pdb) p highspeedentries[np.logical_and(highspeedentries[:,1] &gt; 55, highspeedentries[0,:] &gt; 55)]
  *** ValueError: operands could not be broadcast together with shapes (7,) (2,)
  </code></pre>