本記事は配列の形状変換についてPythonを利用しながら、優しく紹介しています。NumPyとは、Pythonによる機械学習の計算を速く、効率的に行うことが可能なライブラリです。
形状変換(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^)/