3 回答

TA貢獻1804條經(jīng)驗 獲得超7個贊
您可以使用 numpy.vstack
In [22]: import numpy as np
In [23]: a = np.array([[1,2], [3,4]])
In [24]: b = np.array([6,7])
In [25]: np.vstack((a.T, b)).T
Out[25]:
array([[1, 2, 6],
[3, 4, 7]])

TA貢獻1946條經(jīng)驗 獲得超4個贊
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]])
現(xiàn)在concatenate工作:
In [871]: np.concatenate((a, np.reshape(b,(2,1))), axis=1)
Out[871]:
array([[1, 2, 6],
[3, 4, 7]])
np.vstack之所以有效,是因為它會根據(jù)需要添加新的初始維度。我添加了一個尾隨維度。
從長遠來看,要concatenate有效使用,您必須了解尺寸,以及如何在需要時調(diào)整它們。
添加回答
舉報