Pythonの数値計算ライブラリ、Numpyでよく使うやつのメモ。だいたいnpという名前でインポートされることが多い。随時更新予定。
import numpy as np
array
行列を作る。
>>> np.array([1, 2, 3])
array([1, 2, 3])
>>> np.array([[1, 2], [3, 4]])
array([[1, 2],
[3, 4]])
T
転置行列を作る。
>>> a = np.array([[1, 3], [2, 1]])
>>> a
array([[1, 3],
[2, 1]])
>>> a.T
array([[1, 2],
[3, 1]])
zeros, ones
zerosは0で、onesは1で埋められた、指定された形の行列を生成する。
>>> np.zeros(3)
array([ 0., 0., 0.])
>>> np.zeros([3, 3])
array([[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]])
>>> np.ones(3)
array([ 1., 1., 1.])
>>> np.ones([3, 3])
array([[ 1., 1., 1.],
[ 1., 1., 1.],
[ 1., 1., 1.]])
eye
単位行列を作る。
>>> np.eye(3)
array([[ 1., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 1.]])
diag
対角行列を作る。
>>> np.diag([1, 2, 3])
array([[1, 0, 0],
[0, 2, 0],
[0, 0, 3]])
vstack, hstack
行列の合成に使われる。使い方は次の通り。
>>> a = np.array([1, 1, 1])
>>> b = np.array([2, 2, 2])
>>> np.vstack([a, b])
array([[1, 1, 1],
[2, 2, 2]])
>>> np.hstack([a, b])
array([1, 1, 1, 2, 2, 2])
dot
内積を計算する。
>>> np.dot([1, 2, 3], [1, 2, 3])
14
cross
外積を計算する。
>>> np.cross([0, 1], [1, 0])
array(-1)
flatten
一次元配列に変更する
>>> a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
>>> a.flatten()
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
random.rand
ランダムな数値の行列を生成する。
>>> np.random.rand(3)
array([ 0.37043199, 0.67058649, 0.53891633])
>>> np.random.rand(2, 3)
array([[ 0.50614319, 0.04483549, 0.39542568],
[ 0.04853891, 0.55439793, 0.81737454]])