numpy.stack#

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

Join a sequence of arrays along a new axis.

Theaxis parameter specifies the index of the new axis in thedimensions of the result. For example, ifaxis=0 it will be the firstdimension and ifaxis=-1 it will be the last dimension.

Parameters:
arrayssequence of ndarrays

Each array must have the same shape. In the case of a single ndarrayarray_like input, it will be treated as a sequence of arrays; i.e.,each element along the zeroth axis is treated as a separate array.

axisint, optional

The axis in the result array along which the input arrays are stacked.

outndarray, optional

If provided, the destination to place the result. The shape must becorrect, matching that of what stack would have returned if noout argument were specified.

dtypestr or dtype

If provided, the destination array will have this dtype. Cannot beprovided together without.

New in version 1.24.

casting{‘no’, ‘equiv’, ‘safe’, ‘same_kind’, ‘unsafe’}, optional

Controls what kind of data casting may occur. Defaults to ‘same_kind’.

New in version 1.24.

Returns:
stackedndarray

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

See also

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.

unstack

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

Examples

>>>importnumpyasnp>>>rng=np.random.default_rng()>>>arrays=[rng.normal(size=(3,4))for_inrange(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]])
On this page