mxnet.np.array_split

array_split(ary, indices_or_sections, axis=0)

Split an array into multiple sub-arrays.

If indices_or_sections is an integer, N, the array will be divided into N equal arrays along axis. If such a split is not possible, an array of length l that should be split into n sections, it returns l % n sub-arrays of size l//n + 1 and the rest of size l//n.

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

If an index exceeds the dimension of the array along axis, an empty sub-array is returned correspondingly.

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

  • indices_or_sections (int or 1-D Python tuple, list or set.) – Param used to determine the number and size of the subarray.

  • axis (int, optional) – The axis along which to split, default is 0.

Returns

sub-arrays – A list of sub-arrays.

Return type

list of ndarrays

Examples

>>> x = np.arange(9.0)
>>> np.array_split(x, 3)
[array([0., 1., 2.]), array([3., 4., 5.]), array([6., 7., 8.])]
>>> np.array_split(x, [3, 5, 6, 8])
[array([0., 1., 2.]), array([3., 4.]), array([5.]), array([6., 7.]), array([])]
>>> x = np.arange(8.0)
>>> np.array_split(x, 3)
[array([0.,  1.,  2.]), array([3.,  4.,  5.]), array([6.,  7.])]
>>> x = np.arange(7.0)
>>> np.array_split(x, 3)
[array([0.,  1.,  2.]), array([3.,  4.]), array([5.,  6.])]