-numpyはpythonで学術計算をする為のライブラリ
-機械学習でも頻繁に使われるライブラリ
-基本的な計算はPythonだけでも出来るが、numpyを使うとその計算が高速になったり、より楽になったりする
import numpy as np vec1 = np.array([1,2,3]) print(vec1)
(anaconda3-2019.03) [vagrant@localhost python]$ pyenv global 3.6.4
[vagrant@localhost python]$ python -V
Python 3.6.4
[vagrant@localhost python]$ python myapp.py
[1 2 3]
ん、配列のカンマが消えてる?
あ、あ、行ベクトルを表現してるのかな。いきなりつまづいたなー
vec1 = np.array([[1,2,3],[4,5,6]])
二次元の行列。配列を入れ子にする。
[vagrant@localhost python]$ python myapp.py
[[1 2 3]
[4 5 6]]
ベクトルの足し算、引き算
vecx = np.array([[1,2,3],[4,5,6]]) vecy = np.array([[4,5,6],[7,8,9]]) vecz = np.array([[1,2,3],[4,5,6],[7,8,9]]) print(vecx + vecy) print(vecx - vecy)
[vagrant@localhost python]$ python myapp.py
[[ 5 7 9]
[11 13 15]]
[[-3 -3 -3]
[-3 -3 -3]]
ベクトルの掛け算
vecx = np.array([[1,2,3],[4,5,6]]) vecy = np.array([[1,2],[2,3]]) vecz = np.array([[1,2,3],[4,5,6],[7,8,9]]) res = np.dot(vecx, vecz) print(res)
[vagrant@localhost python]$ python myapp.py
[[30 36 42]
[66 81 96]]
行分の列がないと掛け算は成立しませんね。
vecz = np.array([[1],[4],[7]])