numpy.stack#
- numpy.stack(arrays,axis=0,out=None,*,dtype=None,casting='same_kind')[source]#
Join a sequence of arrays along a new axis.
The
axis
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]])