【Numpy】配列の形状変換をPythonで実装する方法

本記事は配列の形状変換についてPythonを利用しながら、学生エンジニアが初心者の方へ向けて優しく解説しています。NumPyとは、Pythonによる機械学習の計算を速く、効率的に行うことが可能のモジュールです。NumPyを用いた配列の形状変換を一緒に学習しましょう!

形状変換(reshape)とは

NumPyの関数であるreshapeを利用すれば、配列の形状変換を行うことができます。
ここでいう形状変換とは、
A = [1, 2, 3, 4, 5, 6,]
のような配列Aを、
A’ = [[1, 2, 3],[4, 5, 6]]
のように、要素は変えずに行数や列数を変更することができます。

Pythonでの実装

実装例1

import numpy as np

A = [0, 1, 2, 3, 4, 5]
B = np.reshape(A, (2,3)) #2✕3行列へ形状変換
print(B)
【実行結果】
[[0 1 2]
 [3 4 5]]

AからBの配列へ形状変換を行っています。
「reshape(配列, (行数,列数))」とすることで、PythonのNumpyを用いて形状変換が可能になります。

実装例2

1つ目の例と大差はありませんが、2つ目の例です。

import numpy as np

A = np.array([0, 1, 2, 3, 4, 5])
B = A.reshape((2,3)) #2✕3行列へ形状変換
print(B)
【実行結果】
[[0 1 2]
 [3 4 5]]

1つ目の例との違いは、3行目と4行目です。
「np.array」を用いた配列Aに関しては、「A.reshape((行数, 列数))」で形状変換を行うことができます。
そこまで難しく考えなくても大丈夫です。

実装例3

最後に3つ目の例です。
1つ目の例と2つ目の例をかけ合わせます。

import numpy as np

A = np.arange(6).reshape((2,3)) #2✕3行列へ形状変換
print(A)
【実行結果】
[[0 1 2]
 [3 4 5]]

NumPyの「arange()」は指定した大きさの配列を生成する関数です。
今回の「np.arange(6)」は[0, 1, 2, 3, 4, 5]の配列が生成されています。

この配列を2✕3の大きさへ形状変換を行っています。

ということで本記事は、
PythonのNumpyを用いた配列の形状変換についてについてまとめました。
最後まで読んでいただき、ありがとうございました\(^o^)/

超オススメのPC用品

PCを操作する上で、トラックボールマウスが非常におすすめです!
僕も感動したこのマウスを、騙されたと思って使ってみてください!(^^)

外部モニターで2倍以上の効率化が見込めます!
安いものだと、たったの1万円前後なのでおすすめですよー!\(^o^)/

コメントを残す

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