# numpy.ma.dstack

ma.dstack = <numpy.ma.extras._fromnxfunction_seq object>

  dstack

  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

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

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