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で表現すると指定したセル全部に処理をするイメージです。
楽ですね~~
この記事が気に入ったらサポートをしてみませんか?