NP Hstack - удобная библиотека для горизонтального объединения массивов в NumPy
np.hstack() - это функция в библиотеке numpy, которая используется для горизонтального объединения массивов вдоль второго измерения (оси 1). Она позволяет объединить несколько массивов в горизонтальное направление, чтобы получить новый массив.
Давайте рассмотрим примеры кода, чтобы лучше понять, как использовать функцию np.hstack():
Пример 1:
< script type="text/javascript" src="highlight.min.js" >< /script >
< link rel="stylesheet" type="text/css" href="styles.css" >
< pre class="highlight python">
import numpy as np
# Создаем два массива
arr1 = np.array([[1, 2, 3],
[4, 5, 6]])
arr2 = np.array([[7, 8, 9],
[10, 11, 12]])
# Горизонтальное объединение массивов
result = np.hstack((arr1, arr2))
print(result)
< /pre >
Вывод:
[[ 1 2 3 7 8 9]
[ 4 5 6 10 11 12]]
В этом примере мы создаем два двумерных массива arr1 и arr2. Затем мы используем функцию np.hstack() для объединения этих массивов горизонтально. Результатом является новый массив, содержащий все элементы arr1 и arr2 в горизонтальном порядке.
Пример 2:
< script type="text/javascript" src="highlight.min.js" >< /script >
< link rel="stylesheet" type="text/css" href="styles.css" >
< pre class="highlight python">
import numpy as np
# Создаем два одномерных массива
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
# Горизонтальное объединение массивов
result = np.hstack((arr1.reshape(-1, 1), arr2.reshape(-1, 1)))
print(result)
< /pre >
Вывод:
[[1 4]
[2 5]
[3 6]]
В этом примере мы объединяем два одномерных массива arr1 и arr2 горизонтально. Прежде чем объединять их, мы используем функцию np.reshape() для преобразования каждого массива в двумерный массив с одним столбцом. Затем мы используем функцию np.hstack() для объединения этих двумерных массивов по горизонтали.
Пример 3:
< script type="text/javascript" src="highlight.min.js" >< /script >
< link rel="stylesheet" type="text/css" href="styles.css" >
< pre class="highlight python">
import numpy as np
# Создаем пустой массив
arr1 = np.empty((0, 3))
# Добавляем строки в массив
row1 = np.array([1, 2, 3])
row2 = np.array([4, 5, 6])
arr1 = np.vstack((arr1, row1))
arr1 = np.vstack((arr1, row2))
# Создаем еще один массив
arr2 = np.array([[7, 8, 9],
[10, 11, 12]])
# Горизонтальное объединение массивов
result = np.hstack((arr1, arr2))
print(result)
< /pre >
Вывод:
[[ 1 2 3 7 8 9]
[ 4 5 6 10 11 12]]
В этом примере мы начинаем с пустого массива arr1 с нулевыми строками и тремя столбцами. Затем мы добавляем строки row1 и row2 в массив arr1 с помощью функции np.vstack(). Затем мы создаем еще один массив arr2. После этого мы используем функцию np.hstack() для объединения arr1 и arr2 горизонтально.
Иногда np.hstack() может вызывать ошибку, если размеры осей массивов не совпадают. Убедитесь, что размерности массивов, которые вы пытаетесь объединить горизонтально, совместимы по второму измерению. Если размерности не совпадают, можно использовать функции np.reshape() или np.newaxis, чтобы изменить форму массивов и сделать их совместимыми перед использованием np.hstack().
В заключение, функция np.hstack() в библиотеке numpy позволяет горизонтально объединять массивы по второму измерению. Она полезна при объединении массивов разных размеров, создании новых массивов или преобразовании данных.