トップPython > NumPy入門

NumPy入門

1.NumPyとは

Python で多次元配列や行列の計算を高速に行うためのライブラリである。 計算に使うオブジェクトが C 言語拡張で実装されているおかげで速い。 そのため、大抵の科学計算系のライブラリで NumPy が使われている[1]。

NumPyは numpy-1.9.2-win32-superpack-python2.7.exe をダウンロード&インストールした。

2.ベクトルの四則演算

ベクトル(一次元配列)の生成と要素間の足し算方法を以下に示す。演算子「+」を「-」に変更すれば、引き算となる。

C:\Python27>python
>>> import numpy as np
>>> a = np.array([1,2,3])
>>> b = np.array([4,5,6])
>>> c = a + b
>>> print(c)
[5 7 9]

また、演算子を 「*」とすれば、ベクトルの要素同士の乗算となる。

>>> c = a * b
>>> print(c)
[ 4 10 18]

同様に、演算子を「/」とすれば、ベクトルの要素同士の徐算となる。

>>> b = np.array([4.0,5.0,6.0])
>>> c = a / b
>>> print(c)
[ 0.25  0.4   0.5 ]

3.行列の四則演算

行列(二次元配列)の生成と要素間の四則演算を以下に示す。

>>> A = np.array([[1,0,0],[0,1,0],[0,0,1]])
>>> B = np.array([[2,0,0],[0,3,0],[0,0,4]])
>>> C = A + B
>>> print(C)
[[3 0 0]
 [0 4 0]
 [0 0 5]]
>>> C = A - B
>>> print(C)
[[-1  0  0]
 [ 0 -2  0]
 [ 0  0 -3]]
>>> C = A * B
>>> print(C)
[[2 0 0]
 [0 3 0]
 [0 0 4]]
>>> B = np.array([[2.0,1.0,1.0],[1.0,3.0,1.0],[1.0,1.0,4.0]])
>>> C = A / B
>>> print(C)
[[ 0.5         0.          0.        ]
 [ 0.          0.33333333  0.        ]
 [ 0.          0.          0.25      ]]

A.リファレンス

[1] Python: NumPy の使い方と注意点
[2] 【Python/NumPy】ベクトル・行列の足し算・引き算