numpy ユニバーサル関数

Numpy で作ったarray全要素に対し、演算などの処理を行う関数をユニバーサル関数と呼びます。

ん?

と思った方、申し訳ない。Excelで表現すると指定したセル全部に同じ数掛けたり、足したりするイメージです。

とにかくやってみましょう。

まず、numpyをインポートし、arrayを作ります。

import numpy as np
ary1 = np.arange(7)
ary1

実行結果:

array([0, 1, 2, 3, 4, 5, 6])


array全てに5を掛けたい

このary1の全ての要素(数字)に対し、5を掛け算して答えを得たい場合・・

単純に5をかけます。

5 * ary1

実行結果:

array([ 0,  5, 10, 15, 20, 25, 30])

簡単に全て、×5されました。


array全てに2を足したい

今度は、作成したarrayであるary1の全ての要素に2を足したいとします。

2 + ary1

実行結果:

array([2, 3, 4, 5, 6, 7, 8])

となります。

当たり前のように感じますが、結構これが出来ない言語が多いんです。その場合は、forループで対応しなくてはならない。

めんどくさいですね。Pythonのユーザーが多い理由もユニバーサル関数にある気がします。


array全てにsinを返したい

難しめの計算も可能です。

np.sin(ary1)

実行結果:

array([ 0.        ,  0.84147098,  0.90929743,  0.14112001, -0.7568025 ,
      -0.95892427, -0.2794155 ])

手持ちのarrayに、一括で処理ができるユニバーサル関数は、前記したようにExcelで表現すると指定したセル全部に処理をするイメージです。

楽ですね~~

この記事が気に入ったらサポートをしてみませんか?