title: Issue when filtering rows of numpy array by multiple conditions
body: <p>I want to filter a numpy array by multiple conditions. I found 
  <a href="https://stackoverflow.com/questions/29501823/numpy-filtering-rows-by-multiple-conditions">this thread </a> and tested the slicing method on my dataset but I get unexpected results. Well, at least for me they're unexpected, as I might simply have a problem understanding the functionality of bitwise operators or something else :/</p>
  
  <p>Just so you get an idea of the data:</p>
  
  <pre><code>test.shape
  &gt;&gt;(222988, 2)
  
  stats.describe(all_output[:, 0])
  &gt;&gt;DescribeResult(nobs=222988, minmax=(2.594e-05, 74.821), mean=11.106, variance=108.246, [...])
  
  stats.describe(all_output[:, 1])
  &gt;&gt;DescribeResult(nobs=222988, minmax=(0.001, 8.999), mean=3.484, variance=7.606, [...])
  </code></pre>
  
  <p>Now, doing some basic filtering:</p>
  
  <pre><code>test1 = test[(test[:, 0] &gt;= 30) &amp; (test[:, 1] &lt;= 2)] 
  
  test1.shape
  &gt;&gt;(337, 2)
  </code></pre>
  
  <p>Those are actually the rows I <strong>don't</strong> want to have in my dataset, so if I do what I believe is the opposite...</p>
  
  <pre><code>test2 = test[(test[:, 0] &lt;= 30) &amp; (test[:, 1] &gt;= 2)] 
  
  test2.shape
  &gt;&gt;(112349, 2)
  </code></pre>
  
  <p>I would expect the result to be (222651, 2). I guess that I'm doing some embarrassingly simple thing wrong? Can anyone here push me in the right direction? </p>
  
  <p>Thanks already! -M</p>