nlcpy.vsplit

nlcpy.vsplit(ary, indices_or_sections)[source]

Splits 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

Splits an array into multiple sub-arrays.

Examples

>>> import nlcpy as vp
>>> x = vp.arange(16.0).reshape(4, 4)
>>> x
array([[ 0.,  1.,  2.,  3.],
       [ 4.,  5.,  6.,  7.],
       [ 8.,  9., 10., 11.],
       [12., 13., 14., 15.]])
>>> vp.vsplit(x, 2)
[array([[0., 1., 2., 3.],
       [4., 5., 6., 7.]]), array([[ 8.,  9., 10., 11.],
       [12., 13., 14., 15.]])]
>>> z1, z2, z3 = vp.vsplit(x, vp.array([3, 6]))
>>> z1; z2; z3;
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 = vp.arange(8.0).reshape(2, 2, 2)
>>> x
array([[[0., 1.],
        [2., 3.]],

       [[4., 5.],
        [6., 7.]]])
>>> vp.vsplit(x, 2)
[array([[[0., 1.],
        [2., 3.]]]), array([[[4., 5.],
        [6., 7.]]])]