#### Previous topic

numpy.concatenate

#### Next topic

numpy.column_stack

# numpy.stack¶

`numpy.``stack`(arrays, axis=0, out=None)[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.

New in version 1.10.0.

Parameters
arrayssequence of array_like

Each array must have the same shape.

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.

Returns
stackedndarray

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

`concatenate`

Join a sequence of arrays along an existing axis.

`split`

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

`block`

Assemble arrays from blocks.

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]])
```