В мире манипулирования и анализа данных NumPy — это мощная библиотека, обеспечивающая эффективные операции с массивами в Python. Одной из часто используемых операций является вертикальное стекирование, которое позволяет объединять несколько массивов вдоль их вертикальной оси. В этой статье мы рассмотрим различные методы выполнения вертикального стекирования с помощью NumPy, а также приведем примеры кода, иллюстрирующие каждый метод.
Метод 1: использование функции vstack
Самый простой метод вертикального сложения массивов в NumPy — использование функции vstack. Эта функция принимает на вход последовательность массивов и возвращает новый массив, в котором входные массивы расположены вертикально. Вот пример:
import numpy as np
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
stacked_array = np.vstack((array1, array2))
print(stacked_array)
Выход:
[[1 2 3]
[4 5 6]]
Метод 2: использование объединения с параметром оси.
Другой способ добиться вертикального наложения — использовать функцию concatenateс параметром axis, установленным на 0. Этот параметр указывает ось, по которой будут соединяться массивы. Вот пример:
import numpy as np
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
stacked_array = np.concatenate((array1[np.newaxis, :], array2[np.newaxis, :]), axis=0)
print(stacked_array)
Выход:
[[1 2 3]
[4 5 6]]
Метод 3: использование функции row_stack
Функция row_stack— еще один удобный метод вертикального укладки. Он эквивалентен vstack, но также может объединять одномерные массивы в виде строк в двумерном массиве. Вот пример:
import numpy as np
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
stacked_array = np.row_stack((array1, array2))
print(stacked_array)
Выход:
[[1 2 3]
[4 5 6]]
Метод 4: использование функциивертикального_стака
В старых версиях NumPy функция vertical_stackиспользовалась для достижения вертикального стека. Хотя вместо этого рекомендуется использовать vstack, vertical_stackпо-прежнему доступен для обратной совместимости. Вот пример:
import numpy as np
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
stacked_array = np.vertical_stack((array1, array2))
print(stacked_array)
Выход:
[[1 2 3]
[4 5 6]]
В этой статье мы рассмотрели несколько методов вертикального стекирования в NumPy. Мы обсудили функцию vstack, concatenateс параметром axis, row_stackи vertical_stack. Теперь в вашем распоряжении целый ряд методов эффективного укладывания массивов по строкам. Этот навык окажется неоценимым в различных задачах по науке о данных и анализу данных. Приятного кодирования!