Skip to main content
`Ctrl`+`K`

# numpy.hstack

numpy.hstack(tup, *, dtype=None, casting='same_kind')

  Stack arrays in sequence horizontally (column wise).

  This is equivalent to concatenation along the second axis, except for 1-D arrays where it concatenates along the first axis. Rebuilds arrays divided by `hsplit`.

  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 ndarrays

      The arrays must have the same shape along all but the second axis, except 1-D arrays which can be any length. In the case of a single 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.

    dtype str 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:
    stacked ndarray

      The array formed by stacking the given arrays.

  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).

  `dstack`

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

  `column_stack`

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

  `hsplit`

    Split an array into multiple sub-arrays horizontally (column-wise).

  `unstack`

    Split an array into a tuple of sub-arrays along an axis.

  Examples

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