備忘・numpy.reshapeまとめ
よく忘れるのでメモしておく。
まず、テスト用の配列z(numpy.ndarray)を用意する。
zの形式は、3行4列。
import numpy as np z = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]) ##-- IN --## z.shape ##-- OUT --## (3, 4)
1. 「reshape(1, -1)」
##-- IN --## z.reshape(1, -1) #or, np.reshape(z, (1, -1)) ##-- OUT --## array([[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]])
これは、以下の変形と同じ。
##-- IN --## z.reshape(1, 12) #or, np.reshape(z, (1, 12)) ##-- OUT --## array([[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]])
2. 「reshape(-1, 1)」
##-- IN --## z.reshape(-1, 1) #or, np.reshape(z, (-1, 1)) ##-- OUT --## array([[ 1], [ 2], [ 3], [ 4], [ 5], [ 6], [ 7], [ 8], [ 9], [10], [11], [12]])
これは、以下の変形と同じ。
##-- IN --## z.reshape(12, -1) #or, np.reshape(z, (12, -1)) ##-- OUT --## array([[ 1], [ 2], [ 3], [ 4], [ 5], [ 6], [ 7], [ 8], [ 9], [10], [11], [12]])
3. 「reshape(1, -1)」
##-- IN --## z.reshape(-1) #or, np.reshape(z, (-1)) ##-- OUT --## array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])