title: How do I split an ndarray based on array of indexes?
body: <p>I'm fairly new to Python, and very new to Numpy.</p>
  
  <p>So far I have an ndarray of data where is a list of lists, and I have an array of indexes.  How can I remove every row who's index is inside of the array of indexes and put that row into a new ndarray?</p>
  
  <p>For example, my data looks like</p>
  
  <pre><code>[[1 1 1 1]
   [2 3 4 5]
   [6 7 8 9]
   [2 2 2 2]]
  </code></pre>
  
  <p>and my index array is</p>
  
  <pre><code>[0 2]
  </code></pre>
  
  <p>I would want two get two arrays, one of</p>
  
  <pre><code>[[1 1 1 1]
   [6 7 8 9]]
  </code></pre>
  
  <p>and</p>
  
  <pre><code>[[2 3 4 5]
   [2 2 2 2]]
  </code></pre>
  
  <p>Extended example, for clarity: 
  For example, my data looks like</p>
  
  <pre><code>[[1 1 1 1]
   [2 3 4 5]
   [6 7 8 9]
   [2 2 2 2]
   [3 3 3 3]
   [4 4 4 4]
   [5 5 5 5]
   [6 6 6 6]
   [7 7 7 7]]
  </code></pre>
  
  <p>and my index array is</p>
  
  <pre><code>[0 2 3 5]
  </code></pre>
  
  <p>I would want two get two arrays, one of</p>
  
  <pre><code>[[1 1 1 1]
   [6 7 8 9]
   [2 2 2 2]
   [4 4 4 4]]
  </code></pre>
  
  <p>and</p>
  
  <pre><code>[[2 3 4 5]
   [3 3 3 3]
   [5 5 5 5]
   [6 6 6 6]
   [7 7 7 7]]
  </code></pre>
  
  <p>I have looked into numpy.take() and numpy.choose() but I could not figure it out.  Thanks!</p>
  
  <p>edit: I should also add that my input data and index array are of variable length, depending on the data-sets.  I would like a solution that would work for variable sizes.</p>