title: Split 2D numpy array vertically into uneven subarrays
body: <p>Suppose I have the following <code>numpy</code> array of shape <code>(10, 5)</code> where I want to split it into two subarrays: the first one contains the first 7 rows and the second one takes the remaining 3 rows. If I do this:</p>
  
  <pre><code>x = np.arange(50).reshape(10, 5)
  x1, y1 = np.vsplit(x, 2)
  </code></pre>
  
  <p>It will split exactly half. How can I make it two subarrays <code>(7,5)</code> and <code>(3,5)</code>? </p>