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)