Объединение массивов – стандартная задача, стоящая перед пользователями NumPy. Одним из методов объединения является горизонтальное объединение с помощью функции np.hstack()
. В этой статье мы подробно рассмотрим, как она работает, её синтаксис и применение на практике.
numpy.hstack(tup)
tup
: кортеж из массивов, которые необходимо горизонтально объединить.import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
result = np.hstack((arr1, arr2))
print(result) # [1 2 3 4 5 6]
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6]])
result = np.hstack((arr1, arr2.T)) # Примечание: Транспонирование arr2 для соответствия формам массивов
print(result)
# [[1 2 5]
# [3 4 6]]
np.vstack()
.np.concatenate()
.Использование горизонтального объединения для добавления столбцов к данным.
Предположим, у вас есть массив данных и вы хотите добавить к нему столбец с единицами (часто используется в статистическом моделировании):
data = np.random.rand(5, 3)
ones = np.ones(5)
augmented_data = np.hstack((data, ones[:, np.newaxis]))
print(augmented_data)
#[[0.46656957 0.25387216 0.58987167 1. ]
# [0.88559928 0.50996955 0.50822401 1. ]
# [0.32744819 0.43623309 0.8788719 1. ]
# [0.6266868 0.39226749 0.34963444 1. ]
# [0.14550124 0.3698667 0.34561095 1. ]]
Объединение массивов разных типов.
np.hstack()
позволяет объединять массивы разных типов данных. Результатом будет массив, который может содержать все входные типы данных:
arr1 = np.array([1, 2, 3])
arr2 = np.array([4.0, 5.5, 6.6])
result = np.hstack((arr1, arr2))
print(result) # [1. 2. 3. 4. 5.5 6.6]
Функция np.hstack()
предоставляет простой и интуитивно понятный способ горизонтального объединения массивов в NumPy. Она оказывается очень полезной при работе с данными, когда необходимо комбинировать различные наборы информации в одной структуре.
Содержание: