Преобразовать вектор строки в вектор столбца в NumPy
import numpy as np
matrix1 = np.array([[1,2,3],[4,5,6]])
vector1 = matrix1[:,0] # This should have shape (2,1) but actually has (2,)
matrix2 = np.array([[2,3],[5,6]])
np.hstack((vector1, matrix2))
ValueError: all the input arrays must have same number of dimensions
Проблема в том, что когда я выбираю первый столбец matrix1 и помещаю его в vector1, он преобразуется в вектор строки, поэтому при попытке объединить с matrix2 я получаю ошибку измерения. Я мог бы сделать это.
np.hstack((vector1.reshape(matrix2.shape[0],1), matrix2))
Но это выглядит слишком уродливо для меня каждый раз, когда мне приходится объединять матрицу и вектор. Есть ли более простой способ сделать это?