Convertir vector de fila a vector de columna en 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

El problema es que cuando selecciono la primera columna de matrix1 y la puse en vector1, se convierte en un vector de fila, de modo que cuando trato de concatenar con matrix2, obtengo un error de dimensión. Yo podría hacer esto.

np.hstack((vector1.reshape(matrix2.shape[0],1), matrix2))

Pero esto me parece demasiado feo para hacerlo cada vez que tengo que concatenar una matriz y un vector. ¿Hay una manera más sencilla de hacer esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta