In [868]: a = np.array([[1,2],[3,4]]); b = np.array([6,7])
In [869]: a.shape, b.shape
Out[869]: ((2, 2), (2,))
b
имеет 1 измерение, для соответствия ему требуется 2 a
:
In [870]: np.reshape(b,(2,1))
Out[870]:
array([[6],
[7]])
Теперь concatenate
работает:
In [871]: np.concatenate((a, np.reshape(b,(2,1))), axis=1)
Out[871]:
array([[1, 2, 6],
[3, 4, 7]])
np.vstack
работаетпотому что он добавляет новое начальное измерение, если это необходимо.Я добавил конечное измерение.
В долгосрочной перспективе, чтобы эффективно использовать concatenate
, вы должны узнать об измерениях и о том, как их отрегулировать при необходимости.