【毎日Python】Pythonで配列の形状を変換する方法|numpy.reshape

reshape
こつこつPython

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

【毎日Python】Pythonで全ての要素が0や1の配列を作成する方法|numpy.zeros/ones

【こつこつPython】Pythonで要素を指定せずに配列を作成する方法|numpy.empty

未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト