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
Проблема заключается в том, что, когда я выбираю первый столбец матрицы1 и помещаю его в vector1, он преобразуется в вектор строки, поэтому, когда я пытаюсь конкатенировать с матрицей2, я получаю ошибку измерения. Я мог бы это сделать.
np.hstack((vector1.reshape(matrix2.shape[0],1), matrix2))
Но это выглядит слишком уродливо для меня делать каждый раз, когда мне приходится конкатенировать матрицу и вектор. Есть ли более простой способ сделать это?