1. 程式人生 > >Python科學計算庫Numpy裡reshape&newaxis用法

Python科學計算庫Numpy裡reshape&newaxis用法

>>> 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)也是變向量為陣列,但是改變方式有區別。

>>> 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]])
newaxis的作用是把1*n行向量變成1*n二維陣列,區別在於對1*n行向量轉置無變化,對1*n二維陣列轉置會變成n*1的陣列。