# jax.numpy.stack¶

jax.numpy.stack(arrays, axis=0, out=None)[source]

Join a sequence of arrays along a new axis.

LAX-backend implementation of stack(). Original docstring below.

The axis parameter specifies the index of the new axis in the dimensions of the result. For example, if axis=0 it will be the first dimension and if axis=-1 it will be the last dimension.

New in version 1.10.0.

Parameters
• arrays (sequence of array_like) – Each array must have the same shape.

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

• out (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.

Returns

stacked – The stacked array has one more dimension than the input arrays.

Return type

ndarray

concatenate()

Join a sequence of arrays along an existing axis.

block()

Assemble an nd-array from nested lists of blocks.

split()

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

Examples

>>> 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([2, 3, 4])
>>> np.stack((a, b))
array([[1, 2, 3],
[2, 3, 4]])

>>> np.stack((a, b), axis=-1)
array([[1, 2],
[2, 3],
[3, 4]])