Konvertiert einen Zeilenvektor in einen Spaltenvektor in 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

Das Problem ist, dass wenn ich die erste Spalte von Matrix1 auswähle und in Vektor1 lege, sie in einen Zeilenvektor konvertiert wird. Wenn ich also versuche, mit Matrix2 zu verketten, erhalte ich einen Dimensionsfehler. Ich könnte das machen.

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

Aber das sieht zu hässlich für mich aus, um es jedes Mal zu tun, wenn ich eine Matrix und einen Vektor verketten muss. Gibt es einen einfacheren Weg, dies zu tun?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage