NumPy
Transported Matrix
a.T
Multiplication
- 行列の積は
np.dot
で計算する。 - 行ベクトル、列ベクトルは区別されない。 そのため転置して積を求めなくても、 そのまま積の計算をすれば良い。 行列 (NumPy Array) の場合は転置によって値が変わる。
NumPy Array のファクトリーメソッド
全成分が0 零行列
- ベクトル
np.zeros(4)
- 行列
np.zeros(4).reshape(2, 2)
全成分が1
- ベクトル
np.ones(4)
- 行列
np.ones(4).reshape(2, 2)
単位行列
np.identity(3)
等間隔の整数
- 0 から始まる整数で 要素が
n
個 のベクトルnp.arange(n)
- a から始まる整数で 要素が (
b - a + 1
)個 のベクトルnp.arange(a, b)
- a + nc なる整数 (nはゼロ以上の整数) で、 b 未満のものを順に含むベクトル
np.arange(a, b, c)
- a, b, c は float でも良い。
NumPy Array の 部分行列
NumPy Array は リストと同様に 次のようにして 一部を取り出すことができる。
a[2:5]
a[2:]
a[:5]
a[::-1]
さらに、配列の場合は行・列について それぞれ次のように記述することができる。
a[:2]
a[:2, 0]
a[:2, ::-1]
ブロードキャスト
サイズの異なる配列同士の計算。
1 + np.array([1, 2, 3])
>>> array([2, 3, 4])
np.array([[1, 2], [3, 4]]) + np.array([5, 6])
>>> array([[ 5, 8],
[ 8, 10]])
np.array([1, 2, 3])[:, np.newaxis])
>>> np.array([[1],
[2],
[3]])
Reshape
- 1次元ベクトルを列ベクトルにする。
reshape
の first parameter に-1
を代入する。
n = np.array([1, 2, 3]) n.reshape(-1, 1)
部分行列
行を取り出す
n = np.identity(10)
n[1]
列を取り出す
n = np.identity(10)
n[:, 1]
結合
ベクトル、行列をくっつける。
- 横に結合する場合
np.hstack((a, b))
- 縦に結合する場合
np.vstack((a, b))
CSVとして保存
np.savetxt('filename.csv', data, delimiter=',', fmt='%d', header='header,columns', comments='')
- comments
- 先頭行の先頭に挿入される。 デフォルトでは
'#'
- 先頭行の先頭に挿入される。 デフォルトでは