dpnp.hsplit

dpnp.hsplit(ary, indices_or_sections)[source]

Split an array into multiple sub-arrays horizontally (column-wise).

Please refer to the dpnp.split documentation. hsplit is equivalent to dpnp.split with axis=1, the array is always split along the second axis except for 1-D arrays, where it is split at axis=0.

For full documentation refer to numpy.hsplit.

Parameters:
  • ary ({dpnp.ndarray, usm_ndarray}) -- Array to be divided into sub-arrays.

  • indices_or_sections ({int, sequence of ints}) -- If indices_or_sections is an integer, N, the array will be divided into N equal arrays along the second axis except for 1-D arrays, where it is split at the first axis. If such a split is not possible, an error is raised. If indices_or_sections is a sequence of sorted integers, the entries indicate where along the second axis the array is split. For 1-D arrays, the entries indicate where along the first axis the array is split.

Returns:

sub-arrays -- A list of sub arrays. Each array is a view of the corresponding input array.

Return type:

list of dpnp.ndarray

See also

dpnp.split

Split array into multiple sub-arrays of equal size.

Examples

>>> import dpnp 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.hsplit(x, 2)
[array([[ 0.,  1.],
        [ 4.,  5.],
        [ 8.,  9.],
        [12., 13.]]),
 array([[ 2.,  3.],
        [ 6.,  7.],
        [10., 11.],
        [14., 15.]])]
>>> np.hsplit(x, np.array([3, 6]))
[array([[ 0.,  1.,  2.],
        [ 4.,  5.,  6.],
        [ 8.,  9., 10.],
        [12., 13., 14.]]),
 array([[ 3.],
        [ 7.],
        [11.],
        [15.]]),
 array([])]

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

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

With a 1-D array, the split is along axis 0.

>>> x = np.array([0, 1, 2, 3, 4, 5])
>>> np.hsplit(x, 2)
[array([0, 1, 2]), array([3, 4, 5])]