РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
38 of 541 menu

Функция vstack

Функция vstack объединяет переданные массивы вдоль первой оси (по вертикали). Она принимает последовательность массивов и возвращает новый массив, в котором входные массивы расположены друг над другом. Все массивы должны иметь одинаковое количество столбцов (одинаковую форму по всем осям, кроме первой).

Синтаксис

np.vstack(tup)

Параметр tup - это последовательность массивов, кортеж или список массивов, которые нужно объединить по вертикали.

Пример

Объединим два одномерных массива одинаковой длины:

import numpy as np arr1 = np.array([1, 2, 3]) arr2 = np.array([4, 5, 6]) res = np.vstack((arr1, arr2)) print(res)

Результат выполнения кода:

[[1 2 3] [4 5 6]]

Одномерные массивы интерпретируются как строки, поэтому результатом становится двумерный массив.

Пример

Объединим два двумерных массива с одинаковым числом столбцов:

import numpy as np arr1 = np.array([[1, 2, 3], [4, 5, 6]]) arr2 = np.array([[7, 8, 9], [10, 11, 12]]) res = np.vstack((arr1, arr2)) print(res)

Результат выполнения кода:

[[ 1 2 3] [ 4 5 6] [ 7 8 9] [10 11 12]]

Количество строк увеличивается, а количество столбцов остаётся неизменным.

Пример

Объединим одномерный массив с двумерным. Одномерный массив будет преобразован в строку:

import numpy as np arr1 = np.array([1, 2, 3]) arr2 = np.array([[4, 5, 6], [7, 8, 9]]) res = np.vstack((arr1, arr2)) print(res)

Результат выполнения кода:

[[1 2 3] [4 5 6] [7 8 9]]

Одномерный массив arr1 автоматически преобразуется в строку (массив формы (1, 3)), после чего объединение становится возможным.

Пример

Попытка объединить массивы с разным числом столбцов приведёт к ошибке:

import numpy as np arr1 = np.array([[1, 2, 3], [4, 5, 6]]) arr2 = np.array([[7, 8], [9, 10]]) try: res = np.vstack((arr1, arr2)) except ValueError as e: print("Error:", e)

Результат выполнения кода:

"Error: all the input array dimensions except for the concatenation axis must match exactly"

Чтобы избежать ошибки, необходимо убедиться, что все массивы имеют одинаковое количество столбцов.

Смотрите также

  • функцию hstack,
    которая объединяет массивы по горизонтали (по столбцам)
  • функцию concatenate,
    которая объединяет массивы по заданной оси
  • функцию stack,
    которая объединяет массивы по новой оси
  • функцию dstack,
    которая объединяет массивы по третьей оси (глубине)
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить