Skip to main content
`Ctrl`+`K`

# numpy.ma.dstack

ma.dstack(tup)

  Stack arrays in sequence depth wise (along third axis).

  This is equivalent to concatenation along the third axis after 2-D arrays of shape (M,N) have been reshaped to (M,N,1) and 1-D arrays of shape (N,) have been reshaped to (1,N,1). Rebuilds arrays divided by `dsplit`.

  This function makes most sense for arrays with up to 3 dimensions. For instance, for pixel-data with a height (first axis), width (second axis), and r/g/b channels (third axis). The functions `concatenate`, `stack` and `block` provide more general stacking and concatenation operations.

  Parameters:
    tup sequence of arrays

      The arrays must have the same shape along all but the third axis. 1-D or 2-D arrays must have the same shape.

  Returns:
    stacked ndarray

      The array formed by stacking the given arrays, will be at least 3-D.

  See also

  `concatenate`

    Join a sequence of arrays along an existing axis.

  `stack`

    Join a sequence of arrays along a new axis.

  `block`

    Assemble an nd-array from nested lists of blocks.

  `vstack`

    Stack arrays in sequence vertically (row wise).

  `hstack`

    Stack arrays in sequence horizontally (column wise).

  `column_stack`

    Stack 1-D arrays as columns into a 2-D array.

  `dsplit`

    Split array along third axis.

  Notes

  The function is applied to both the `_data` and the `_mask`, if any.

  Examples

      >>> import numpy as np
      >>> a = np.array((1,2,3))
      >>> b = np.array((4,5,6))
      >>> np.dstack((a,b))
      array([[[1, 4],
              [2, 5],
              [3, 6]]])

      >>> a = np.array([[1],[2],[3]])
      >>> b = np.array([[4],[5],[6]])
      >>> np.dstack((a,b))
      array([[[1, 4]],
             [[2, 5]],
             [[3, 6]]])