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.