dpnp.stack

dpnp.stack(arrays, /, *, axis=0, out=None, dtype=None, casting='same_kind')[source]

Join a sequence of arrays along a new axis.

For full documentation refer to numpy.stack.

Parameters:
  • arrays ({dpnp.ndarray, usm_ndarray}) -- Each array must have the same shape.

  • axis (int, optional) -- The axis in the result array along which the input arrays are stacked.

  • out (dpnp.ndarray, optional) -- If provided, the destination to place the result. The shape must be correct, matching that of what stack would have returned if no out argument were specified.

  • dtype (str or dtype) -- If provided, the destination array will have this dtype. Cannot be provided together with out.

  • casting ({'no', 'equiv', 'safe', 'same_kind', 'unsafe'}, optional) -- Controls what kind of data casting may occur. Defaults to 'same_kind'.

Returns:

out -- The stacked array which has one more dimension than the input arrays.

Return type:

dpnp.ndarray

See also

dpnp.concatenate

Join a sequence of arrays along an existing axis.

dpnp.hstack

Stack arrays in sequence horizontally (column wise).

dpnp.vstack

Stack arrays in sequence vertically (row wise).

dpnp.dstack

Stack arrays in sequence depth wise (along third dimension).

dpnp.column_stack

Stack 1-D arrays as columns into a 2-D array.

dpnp.block

Assemble an ndarray from nested lists of blocks.

dpnp.split

Split array into a list of multiple sub-arrays of equal size.

dpnp.unstack

Split an array into a tuple of sub-arrays along an axis.

Examples

>>> import dpnp as np
>>> arrays = [np.random.randn(3, 4) for _ in range(10)]
>>> np.stack(arrays, axis=0).shape
(10, 3, 4)
>>> np.stack(arrays, axis=1).shape
(3, 10, 4)
>>> np.stack(arrays, axis=2).shape
(3, 4, 10)
>>> a = np.array([1, 2, 3])
>>> b = np.array([4, 5, 6])
>>> np.stack((a, b))
array([[1, 2, 3],
       [4, 5, 6]])
>>> np.stack((a, b), axis=-1)
array([[1, 4],
       [2, 5],
       [3, 6]])