Numpyでreshapeを簡単に使う方法

Numpyのメソッドであるreshapeを、簡単に使ってみたいと思います。

reshapeメソッドとは、
Numpyで扱う高次元配列のカタチを変形できるメソッドです。

reshapeを使う際の注意点など細かくあります。
詳細は下記を参考して下さい。

https://note.nkmk.me/python-numpy-reshape-usage/
https://www.sejuku.net/blog/69254#npreshape

難しいことは横においておいて、
とにかく、簡単に、reshapeを使って、感覚を掴んでみたいと思います。

まずは、データを用意します。

# numpyをimport
import numpy as np

# データを作成
a = np.arange(24)
print(a)
print(a.shape)

#データ内容
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23]
#データのカタチ
(24,)

reshapeを使って配列のカタチを変形します。
下記のように、4×6の配列に変形しました。

b = np.reshape(a, (4,6))
print(b)
print(b.shape)

#データ内容
[[ 0 1 2 3 4 5]
[ 6 7 8 9 10 11]
[12 13 14 15 16 17]
[18 19 20 21 22 23]]
#データのカタチ
(4, 6)

続いて、上記で変形したbを、再度変形します。
現状の配列のカタチを気にせず、新しいカタチを作ることが出来ました。

c = np.reshape(b, (3, 8))
print(c)
print(c.shape)

#データ内容
[[ 0 1 2 3 4 5 6 7]
[ 8 9 10 11 12 13 14 15]
[16 17 18 19 20 21 22 23]]
#データのカタチ
(3, 8)

更に、上記で変形したbを、再度変形します。
次元を1つ増やした配列が出来ました。

d = np.reshape(c, (3, 4, 2))
print(d)
print(d.shape)

#データ内容
[[[ 0 1] [ 2 3] [ 4 5] [ 6 7]]
[[ 8 9] [10 11] [12 13] [14 15]]
[[16 17] [18 19] [20 21] [22 23]]]
#データのカタチ
(3, 4, 2)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です