numpy.vstack()

Функция np.vstack объединяет массивы вертикально — по оси 0 (по строкам). Одномерные массивы трактуются как строки. Эквивалент np.concatenate(arrays, axis=0) для 2D, но удобнее для 1D-входов.

Сигнатура

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

Параметры

  • tup — последовательность массивов одинакового числа столбцов.

  • dtype — тип результата.

Возвращаемое значение

Массив, склеенный по оси 0.

Примеры

Пример 1. Склейка двух 1D массивов.

import numpy as np

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

Пример 2. Склейка двух 2D-матриц.

m1 = np.array([[1, 2], [3, 4]])
m2 = np.array([[5, 6], [7, 8]])
print(np.vstack([m1, m2]))
[[1 2]
 [3 4]
 [5 6]
 [7 8]]

Пример 3. Объединение пакетов измерений.

batch1 = np.array([[512, 480, 600], [510, 482, 605]])
batch2 = np.array([[508, 478, 610]])
all_data = np.vstack([batch1, batch2])
print(all_data)
[[512 480 600]
 [510 482 605]
 [508 478 610]]

Пример 4. Несколько 1D массивов как строки матрицы.

x = np.linspace(0, 1, 4)
y = x * 2
z = x ** 2
matrix = np.vstack([x, y, z])
print(np.round(matrix, 3))
[[0.    0.333 0.667 1.   ]
 [0.    0.667 1.333 2.   ]
 [0.    0.111 0.444 1.   ]]

Пример 5. Несовпадение числа столбцов — ошибка.

try:
    np.vstack([np.array([1, 2, 3]), np.array([4, 5])])
except ValueError as e:
    print("Ошибка:", e)
Ошибка: all the input array dimensions except for the concatenation axis must match exactly, but along dimension 1, the array at index 0 has size 3 and the array at index 1 has size 2

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации NumPy (https://numpy.org/doc/stable/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.