mxnet.np.vsplit

vsplit(ary, indices_or_sections)

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

vsplit is equivalent to split with axis=0 (default): the array is always split along the first axis regardless of the array dimension.

Parameters
  • ary (ndarray) – Array to be divided into sub-arrays.

  • indices_or_sections (int or 1 - D Python tuple, list or set.) –

    If indices_or_sections is an integer, N, the array will be divided into N equal arrays along axis 0. If such a split is not possible, an error is raised.

    If indices_or_sections is a 1-D array of sorted integers, the entries indicate where along axis 0 the array is split. For example, [2, 3] would result in

    • ary[:2]

    • ary[2:3]

    • ary[3:]

    If an index exceeds the dimension of the array along axis 0, an error will be thrown.

Returns

sub-arrays – A list of sub-arrays.

Return type

list of ndarrays

See also

split()

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

()

This function differs from the original numpy.vsplit in the following aspects: * Currently parameter indices_or_sections does not support ndarray, but supports scalar, tuple and list. * In indices_or_sections, if an index exceeds the dimension of the array along axis 0, an error will be thrown.

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