ベクトル演算したい

1a = np.array([1, 2, 3])
2b = np.array([4, 5, 6])
3
4a + b  # ==> array([5, 7, 9])
5a - b  # ==> array([-3, -3, -3])
6a * b  # ==> array([4, 10, 18])
7a / b  # ==> array([0.25, 0.4, 0.5])

リストと異なり、NumPy配列は要素同士のベクトル演算ができます。

四則演算したい

1a = np.array([1, 2, 3])
2b = np.array([4, 5, 6])
3
4a + b  # ==> array([5, 7, 9])
5a - b  # ==> array([-3, -3, -3])
6a * b  # ==> array([4, 10, 18])
7a / b  # ==> array([0.25, 0.4, 0.5])

NumPy配列同士であれば、算術記号 (+-*/など)で 要素ごとの四則演算ができます。

参考

リストは四則演算できません。

1a = [1, 2, 3]
2b = [4, 5, 6]
3
4a + b # ==> [1, 2, 3, 4, 5, 6]
5a - b # ==> TypeError
6a * b # ==> TypeError
7a / b # ==> TypeError

内積したい(np.dot

1np.dot(a, b)
2# ==> np.int64(32)

np.dotでNumPy配列同士の内積を計算できます。 サイズが異なる場合はエラー(ValueError)になります。

内容

入力サイズ

出力サイズ

内積(スカラー)

(n,) (n,)

()

行列 x ベクトル

(m, n) (n,)

(m,)

行列 x 行列

(m, n) (n, p)

(m, p)

行列(2次元配列)同士の内積を計算する場合、 左の行列の 列数 と、 右の行列の 行数 が 一致していないといけません。

外積したい(np.cross

1np.cross(a, b)
2# ==> array[-3, 6, -3]

3次元ベクトル(要素が3つの1次元配列)同士の外積を計算できます。

統計処理したい(np.mean / np.sum

1a = np.array([1, 2, 3, 4, 5])
2
3np.mean(a)  # 3
4np.median(a)  # 3
5np.var(a)  # 2
6np.std(a)  # 1.414...
7np.min(a)  # 1
8np.max(a)  # 5
9np.sum(a)  # 15

NumPy配列に対して、基本的な統計処理ができます。