title: Why does numpy.delete always delete one extra element in my test?
body: <p>I want to use <code>numpy.delete</code> to delete certain elements in an array</p>
  <pre><code>import numpy as np
  aa = np.array([1,2,3,4,5,6,7,8])
  bb = np.array([0,0,0,0,0,0,0,0], dtype='bool')
  
  np.delete(aa,bb)
  </code></pre>
  <p>gives me the results:</p>
  <pre><code>array([2, 3, 4, 5, 6, 7, 8])
  </code></pre>
  <p>I expect the results like this:</p>
  <pre><code>array([1, 2, 3, 4, 5, 6, 7, 8])
  </code></pre>
  <p>And if I change the <code>bb</code> to</p>
  <pre><code>bb = np.array([1,0,0,0,0,0,0,0], dtype='bool')
  </code></pre>
  <p>I got:</p>
  <pre><code>np.delete(aa,bb)
  array([3, 4, 5, 6, 7, 8])
  </code></pre>
  <p>The code is simple, but I do not understand why numpy.delete behaves like this. Any explanations?</p>