numpy.stack — NumPy v2.2 Manual (original) (raw)
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 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.
Parameters:
arrayssequence of ndarrays
Each array must have the same shape. In the case of a single ndarray array_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 be correct, matching that of what stack would have returned if no out argument were specified.
dtypestr or dtype
If provided, the destination array will have this dtype. Cannot be provided together with out.
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
Join a sequence of arrays along an existing axis.
Assemble an nd-array from nested lists of blocks.
Split array into a list of multiple sub-arrays of equal size.
Split an array into a tuple of sub-arrays along an axis.
Examples
import numpy as np rng = np.random.default_rng() arrays = [rng.normal(size=(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]])