Python科學計算庫Numpy裡reshape&newaxis用法
阿新 • • 發佈:2019-02-11
>>> a=np.array([1,2])
>>> a
array([1, 2])
>>> a.reshape(1,-1)
array([[1, 2]])
>>> a.reshape(-1,1)
array([[1],
[2]])
reshape一般用法是改變陣列維度,比如1*4維向量變成2*2維
這裡reshape(1,-1)的作用是把一維向量變成二維陣列;reshape(-1,1)也是變向量為陣列,但是改變方式有區別。
newaxis的作用是把1*n行向量變成1*n二維陣列,區別在於對1*n行向量轉置無變化,對1*n二維陣列轉置會變成n*1的陣列。>>> import numpy as np >>> b = np.array([1, 2, 3, 4, 5, 6]) >>> c = b[np.newaxis,:] #也可以寫作c = b[np.newaxis] >>> b.shape (6,) >>> c.shape (1, 6) >>> c array([[1, 2, 3, 4, 5, 6]]) >>> b array([1, 2, 3, 4, 5, 6]) >>> d=b[:,np.newaxis] >>> d.shape (6, 1) >>> d array([[1], [2], [3], [4], [5], [6]])