title: Numpy.where: very slow with conditions from two different arrays
body: <p>I have three arrays of type numpy.ndarray with dimensions (n by 1), named  <em>amplitude</em>, <em>distance</em> and <em>weight</em>. I would like to use selected entries of the <em>amplitude</em> array, based on their respective <em>distance</em>- and <em>weight</em>-values. For example I would like to find the indices of the entries within a certain distance range, so I write: </p>
  
  <pre><code>index = np.where( (distance&lt;10) &amp; (distance&gt;=5) )
  </code></pre>
  
  <p>and I would then proceed by using the values from <code>amplitude(index)</code>.
  This works perfectly well as long as I only use one array for specifying the conditions. When I try for example</p>
  
  <pre><code>index = np.where( (distance&lt;10) &amp; (distance&gt;=5) &amp; (weight&gt;0.8) )
  </code></pre>
  
  <p>the operation becomes super-slow. Why is that, and is there a better way for this task? In fact, I eventually want to use many conditions from something like 6 different arrays.</p>