読者です 読者をやめる 読者になる 読者になる

IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

Pythonの配列の計算

numpyを使う。

普通の配列の場合は直接演算はできない。

>>> a = [1,2,3]
>>> b = [4,5,6]
>>> a -b 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'list' and 'list'

numpyを利用すると計算ができる。

>>> import numpy
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> numpy.add(a,b)
array([5, 7, 9])
>>> numpy.subtract(a,b)
array([-3, -3, -3])
>>> numpy.multiply(a,b)
array([ 4, 10, 18])
>>> numpy.divide(a,b)
array([ 0.25,  0.4 ,  0.5 ])
>>> numpy.dot(a,b)
32
>>> 4 + 2 * 5 + 3 * 6
32
>>> c = [[1,2,3],[4,5,6],[7,8,9]]
>>> numpy.dot(c,b)
array([ 32,  77, 122])

arrayにしておくと演算子が使える。

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