![見出し画像](https://assets.st-note.com/production/uploads/images/93749497/rectangle_large_type_2_1fedb2d711f13db6bf60d8a77207e2f2.png?width=1200)
Pythonプログラミング - NumPyを使ってみよう
Pythonの便利なライブラリの使い方です。今、話題の機械学習で計算をする場合に便利なのでよく利用されます。
numpyを使えるようにするには"numpy"を取り込み"np"をつけることで簡単に使えるようにします。
import numpy as np
配列を作ってみます。
arr = np.array([1,2,3])
これを使って計算します。例えば配列の中の値全てに"3"を掛けたい場合は
arr*2
とすれば、
array([2, 4, 6])
と表示されます。これは配列"arr"の値を全てに2倍した値が出力されています。
numpyを使わずに同じように計算してみます。
nomalArray = [1,2,3]
nomalArray*2
[1, 2, 3, 1, 2, 3]
と出てきます。値に"2"を掛けての表示ではなく、同じものがもひとつ追加されています。配列の中の値については変化はありません。
同じように配列の中の値を計算させるには
nomalArray = [1,2,3]
arr2 = []
for i in nomalArray:
arr2.append(i * 2)
という感じにfor in文で値にそれぞれ"2"を掛けていき配列として再度追加する方法が考えられます。
配列の値について計算させるのはnumpy配列を使えば計算が簡単にできることがわかります。
配列同士の総和を求める計算は"np.sum()"を使って
a = np.array([1, 2])
b = np.array([3, 4])
np.sum(a*b)
とすると"11"と出てきます。
1*3 + 2*4
の計算となります。
ベクトルの内積が計算は"np.dot()"を使って
a = np.array([1,2])
b = np.array([3,4])
np.dot(a,b)
とするとnp.sum()と同じように"11"と出ますが、多次元配列
a = np.array([[1,2],
[1,2]])
b = np.array([[3,4],
[3,4]])
np.dot(a,b)
の計算をすると
array([[ 9, 12],
[ 9, 12]])
と計算されます。この場合は2次元の配列の結果となります。
1*3+2*3 = 9 , 1*4 + 2*4 = 12
ニュートラルネットワークの計算にも使われているものとなります。
この記事が気に入ったらサポートをしてみませんか?