numpy.vsplit — NumPy v2.2 Manual (original) (raw)

numpy.vsplit(ary, indices_or_sections)[source]#

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.]]])]