Python科学コンピューティングライブラリNumpy里reshape&newaxis使い方
862 ワード
>>> 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 2次元配列に変えることであり,違いは1*n行ベクトルの回転に変化がなく,1*n 2次元配列の回転に対してn*1の配列になることである.