numpy.dstack

numpy.dstack((a1, a2, ..., aN))

Функция numpy.dstack() соединяет массивы вдоль третьей оси. К двумерным массивам размером (MxN) третья ось добавляется справа, что приводит к форме (MxNx1). К одномерным массивам длинной N оси добавляются слева и справа, что приводит к форме (1xNx1).

Параметры:
(a1, a2, ..., aN) - последовательность подобных массиву объектов
Любые объекты которые могут быть преобразованы в массивы NumPy. Данные объекты должны иметь одинаковую форму по всем осям кроме третьей.
Возвращает:
ndarray - массив NumPy
Массив который состоит из указанных массивов, соединенных вдоль третьей оси. Результирующий массив будет иметь минимум три измерения.
Смотрите так же: concatenate, stack, row_stack, column_stack

Замечание

Применение данной функции имеет наибольший смысл для массивов с размерностью меньшей или равной 3.

Примеры

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

       [[2, 4],
        [2, 4]]])
>>> 
>>> c.shape
(2, 2, 2)
>>> 
>>> 
>>> a = np.arange(8).reshape(2, 2, 2)
>>> a
array([[[0, 1],
        [2, 3]],

       [[4, 5],
        [6, 7]]])
>>> 
>>> b = np.zeros((2, 2, 2))
>>> b
array([[[ 0.,  0.],
        [ 0.,  0.]],

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

       [[ 4.,  5.,  0.,  0.],
        [ 6.,  7.,  0.,  0.]]])
>>> 
>>> c.shape
(2, 2, 4)