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
Il problema è che quando seleziono la prima colonna di matrice1 e metterlo in vector1, esso viene convertito in un vettore riga, quindi quando provo per concatenare con matrice2, I ottieni un errore di dimensione. Potrei farloConvertire vettore riga di vettore colonna in NumPy
np.hstack((vector1.reshape(matrix2.shape[0],1), matrix2))
Ma questo sembra troppo brutto per me fare ogni volta che ho per concatenare una matrice e un vettore. C'è un modo più semplice per farlo?
analogamente, slicing restituisce qualcosa con la stessa dimensionalità (o rango in termini di numpy) come array originale –