#### Previous topic

numpy.concatenate

#### Next topic

numpy.column_stack

# numpy.stack

`numpy.``stack`(arrays, axis=0)

  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: | 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.
  Returns: | stacked : ndarray The stacked array has one more dimension than the input arrays.

  See also

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