閃 き

閃き- blog

きらびやかに、美しく、痛烈に.

備忘・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])


参考:
stackoverflow.com