Функция stack
Функция stack объединяет последовательность массивов
вдоль новой оси. Первым параметром функция принимает
последовательность массивов для объединения, вторым
параметром можно задать ось, вдоль которой будет
производиться стекинг.
Синтаксис
np.stack(arrays, axis=0)
Пример
Давайте объединим два одномерных массива по новой оси:
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
res = np.stack([arr1, arr2])
print(res)
Результат выполнения кода:
[[1 2 3]
[4 5 6]]
Пример
Давайте укажем ось для стекинга двух одномерных массивов:
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
res = np.stack([arr1, arr2], axis=1)
print(res)
Результат выполнения кода:
[[1 4]
[2 5]
[3 6]]
Пример
Давайте объединим три одномерных массива в трехмерный массив:
import numpy as np
arr1 = np.array([1, 2])
arr2 = np.array([3, 4])
arr3 = np.array([5, 6])
res = np.stack([arr1, arr2, arr3])
print(res)
Результат выполнения кода:
[[1 2]
[3 4]
[5 6]]
Пример
Давайте объединим два двумерных массива по существующей оси:
import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])
res = np.stack([arr1, arr2], axis=0)
print(res)
Результат выполнения кода:
[[[1 2]
[3 4]]
[[5 6]
[7 8]]]
Пример
Давайте объединим два двумерных массива по другой оси:
import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])
res = np.stack([arr1, arr2], axis=1)
print(res)
Результат выполнения кода:
[[[1 2]
[5 6]]
[[3 4]
[7 8]]]
Пример
Давайте объединим массивы разной размерности с использованием стекинга:
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([[4, 5, 6]])
res = np.stack([arr1, arr2])
print(res)
Результат выполнения кода:
[[1 2 3]
[4 5 6]]
Пример
Давайте объединим массивы, изменяя форму с помощью стекинга и reshape:
import numpy as np
arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([5, 6, 7, 8])
res = np.stack([arr1, arr2]).reshape(2, 2, 2)
print(res)
Результат выполнения кода:
[[[1 2]
[3 4]]
[[5 6]
[7 8]]]
Смотрите также
-
функцию
vstack,
которая объединяет массивы по вертикали -
функцию
hstack,
которая объединяет массивы по горизонтали -
функцию
concatenate,
которая объединяет массивы по существующей оси -
функцию
expand_dims,
которая расширяет размерность массива