ndarray.reshape()の使い方

reshape()の考え方

a.reshape(d1, ..., dn)として変形する場合

  • n次元の配列になる
  • d1 + ... + dn = a.sizeでなければならない

要素が1つの場合

ndarrayの引数に1つの数値を指定するとndarrayクラスだが数値のように表示される。

これをreshape(1)とすると、1要素の1次元配列になる。

reshape(1, 1)とすると、1要素の2次元配列になる。reshape(1, 1, 1)なら3次元配列。

2次元化、3次元化された配列をreshape(1)とすると、1要素の1次元配列になる。

1次元配列の変形

2次元1行の配列への変形

1次元配列をreshape(1, -1)とすると、その配列を要素とする2次元1行の配列になる。

2次元1列の配列への変形

1次元配列をreshape(-1, 1)とすると、その配列を要素とする2次元1列の配列となる。

任意の次元の配列への変形

1次元配列をreshape(m, n)とすると、m行n列の2次元配列になる。m×nが配列のサイズと等しくないとエラーになる(いずれかを−1として自動設定させることは可能)。

3次元以上の配列へも変形可能。

1次元配列への変換

任意の形状の配列aについてreshape(a.size)とすることで、1次元の配列に変換できる。

 

コメントを残す

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