Pythonで配列の次元数を変更する方法です。
使用するのは、Pythonのnumpyのreshape関数です。
import numpy as np
このような1次元配列を使用します。
a_1 = np.array([1, 2, 3, 4, 5, 6])
まず、2次元配列に変更してみましょう。
reshape関数の第一引数に変更したい配列を指定します。
第二引数に、タプルまたはリストで変更後の形状を指定します。
今回はタプルを使用します。
タプルの一番目の要素に行列、二番目の要素に列数を指定します。
実行します。
1次元配列を、2行3列の2次元配列に変更することができました。
np.reshape(a_1, (2, 3))
実行結果:
array([[1, 2, 3],
[4, 5, 6]])
次に、3次元配列に変更してみましょう。
多次元配列に変更する場合は、タプルまたはリストの一番目の要素に次元数を指定します。
実行します。
1行2列の3次元配列に変更することができました。
np.reshape(a_1, (3, 1, 2))
実行結果:
array([[[1, 2]],
[[3, 4]],
[[5, 6]]])
なお、行数または列数を-1に指定すると、自動的に2次元配列が作成されます。
np.reshape(a_1, (3, 1, -1))
実行結果:
array([[[1, 2]],
[[3, 4]],
[[5, 6]]])
関連メソッド
【毎日Python】Pythonで配列を作成する方法|NumPy.arange