Skip to main content
`Ctrl`+`K`

# 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

      >>> import numpy as np
      >>> 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([], shape=(0, 4), 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.]]])]