Numpy tutorial:reshape(-1), flatten(), ravel()

numpy tutorial seriesの第何弾か忘れたが、numpyチュートリアルの一環としてnumpy.reshape(-1), numpy.flatten(), numpy.ravel()をやる。

スポンサーリンク

numpy.reshape(-1)

numpy.reshape(-1)は何なのか?何をするのか早速実践してみる。

import numpy as np

a = np.array([[1, 2, 3, 4],
         [5, 6, 7, 8],
         [9, 10, 11, 12]])
a.shape
(3, 4)
a
array([[ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 9, 10, 11, 12]])
b = np.reshape(a,-1)
b
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])

あるいは、以下のように完結にコードを書き換えられる。

a.reshape(-1)
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])

numpy.flatten()

numpy.flatten()は何をするのか?試してみる。

a
array([[ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 9, 10, 11, 12]])
b = np.ndarray.flatten(a)
b
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])

あるいは、以下のように完結にコードを書き換えられる。

a.flatten()
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])
a
array([[ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 9, 10, 11, 12]])

numpy.ravel()

numpy.ravel()は何をするのか?試してみる。

c = np.ravel(a)
c
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])

あるいは、以下のように完結にコードを書き換えられる。

a.ravel()
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])