

x1[:,np.newaxis]:增維,轉置
從字面上是插入新的維度的意思
demo1: 針對一維的情況
>>> b = np.array([1, 2, 3, 4, 5, 6]) >>> b[np.newaxis] array([[1, 2, 3, 4, 5, 6]]) >>> c = b[np.newaxis] #equals c = b[np.newaxis,:] >>> b.shape (6,) >>> c.shape (1, 6) #看一下轉置的時候有什么區別 >>> np.transpose(b) array([1, 2, 3, 4, 5, 6]) >>> np.transpose(c) array([[1], [2], [3], [4], [5], [6]]) #可以看出在矩陣運算的時候還是需要新的維度來規范計算的
對於這個問題還有一種方法,偶然看sidekit源碼發現的;
>>> a = np.array([1,2,3]) >>> a array([1, 2, 3]) >>> b = a[None] >>> b array([[1, 2, 3]]) >>> a.shape (3,) >>> b.shape (1, 3)
