#### Previous topic

numpy.split

#### Next topic

numpy.tile

# numpy.vsplit

`numpy.``vsplit`(ary, indices_or_sections)

  Split an array into multiple sub-arrays vertically (row-wise).

  Please refer to the `split` documentation. `vsplit` is equivalent to `split` with axis=0 (default), the array is always split along the first axis regardless of the array dimension.

  See also

  `split`
    Split an array into multiple sub-arrays of equal size.

  Examples

      >>> x = np.arange(16.0).reshape(4, 4)
      >>> x
      array([[  0.,   1.,   2.,   3.],
             [  4.,   5.,   6.,   7.],
             [  8.,   9.,  10.,  11.],
             [ 12.,  13.,  14.,  15.]])
      >>> np.vsplit(x, 2)
      [array([[ 0.,  1.,  2.,  3.],
             [ 4.,  5.,  6.,  7.]]),
       array([[  8.,   9.,  10.,  11.],
             [ 12.,  13.,  14.,  15.]])]
      >>> np.vsplit(x, np.array([3, 6]))
      [array([[  0.,   1.,   2.,   3.],
             [  4.,   5.,   6.,   7.],
             [  8.,   9.,  10.,  11.]]),
       array([[ 12.,  13.,  14.,  15.]]),
       array([], dtype=float64)]

  With a higher dimensional array the split is still along the first axis.

      >>> x = np.arange(8.0).reshape(2, 2, 2)
      >>> x
      array([[[ 0.,  1.],
              [ 2.,  3.]],
             [[ 4.,  5.],
              [ 6.,  7.]]])
      >>> np.vsplit(x, 2)
      [array([[[ 0.,  1.],
              [ 2.,  3.]]]),
       array([[[ 4.,  5.],
              [ 6.,  7.]]])]