筋肉で解決しないために。

日々出会うモノに対する考察をしたり、主に以下のテーマに関して書いています。 データサイエンス/人工知能/AI/機械学習/DeepLearning/Python//数学/統計学/統計処理

numpy入門5_「arrayと計算のための関数」

さっと見て、「あぁそうだったそうだった」と確認できるハンドブックのような存在を目指して。

第5回目、「arrayと計算のための関数」です。 今回では、以下の関数を使えるようになることが目標です。

np.sqrt(arr)
np.exp(arr)
np.random.randn(n)
np.add(arr,arr2)
np.subtract(arr,arr2)
np.multiply(arr,arr2)
np.divide(arr,arr2)
np.maximum(arr,arr2)
np.minimum(arr,arr2)

よろしくお願い致します。

おまじない

import numpy as np
arr = np.arange(11)#arrayを作る
arr

>>>
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10])

平方根を計算する

np.sqrt(arr)

>>>
array([ 0.        ,  1.        ,  1.41421356,  1.73205081,  2.        ,
        2.23606798,  2.44948974,  2.64575131,  2.82842712,  3.        ,
        3.16227766])

自然対数の底eの累乗

np.exp(arr)

>>>
array([  1.00000000e+00,   2.71828183e+00,   7.38905610e+00,
         2.00855369e+01,   5.45981500e+01,   1.48413159e+02,
         4.03428793e+02,   1.09663316e+03,   2.98095799e+03,
         8.10308393e+03,   2.20264658e+04])

正規分布に従う乱数を作る

A = np.random.randn(10)
A

>>>
array([ -3.11107882e-01,  -2.39068257e-01,  -5.28049925e-01,
        -5.47855008e-01,  -1.22663428e+00,  -1.48924670e+00,
        -5.73344030e-01,  -8.21385630e-01,   7.93016177e-01,
         4.13389788e-04])

arrayの足し算

arr = np.arange(11)#arrayを2つ作る
arr2 = np.arange(11)
np.add(arr,arr2)

>>>
array([ 0,  2,  4,  6,  8, 10, 12, 14, 16, 18, 20])

arrayの引き算

np.subtract(arr,arr2)

>>>
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

arrayの掛け算

np.multiply(arr,arr2)

>>>
array([  0,   1,   4,   9,  16,  25,  36,  49,  64,  81, 100])

arrayの割り算

np.divide(arr,arr2)

>>>
array([nan,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.])
#0での割り算が起こっているので要注意

大きさを比較して各要素の大きいほうを返す

np.maximum(A,B)
#小さいほうならnp.minimum(A,B)

>>>
array([ -3.11107882e-01,   1.47650544e-01,  -5.28049925e-01,
         1.39597633e+00,  -3.13646087e-01,   1.42949959e+00,
         1.56775535e+00,  -3.70853362e-01,   7.93016177e-01,
         4.13389788e-04])

その他の演算子

numpyには、非常に数多くの演算子があり、ここでは記述しきれませんので、 詳しくは、numpyのドキュメントをご参照願います。

第6回はこちら。

watarumon.hatenablog.com

それじゃー、また。