NumPy ユニバーサル関数と集合関数
Numpy ndarray配列の各要素に対して演算した結果を返す関数の中で、ユニバーサル関数と集合関数を TRY してみた。
ユニバーサル関数
・引数が1つ
np.abs() 要素の絶対数を返す
np.exp() 要素のe(自然対数の底)のべき乗を返す
np.sqrt() 要素の平方根を返す
・引数が2つ
np.add() 要素同士の和を返す
np.subtract() 要素同士の差を返す
np.maximum() 要素同士の最大値を格納した配列を返す
import numpy as np
arr = np.array([4, -9, 16, 4, 20])
arr_2 = np.array([6, 1, 24, 0, 300])
# 要素の絶対を返す
arr_abs = np.abs(arr)
print(arr_abs)
# 要素のe(自然対数の低)のべき乗
print(np.exp(arr_abs))
# 平方根
print(np.sqrt(arr_abs))
# 2つの要素同士の和
print(np.add(arr_abs, arr_2))
# 2つの要素の差
print(np.subtract(arr_abs, arr_2))
# 要素同士の最大値を格納
print(np.maximum(arr_abs, arr_2))
# 実行結果
[ 4 9 16 4 20]
[5.45981500e+01 8.10308393e+03 8.88611052e+06 5.45981500e+01
4.85165195e+08]
[2. 3. 4. 2. 4.47213595]
[ 10 10 40 4 320]
[ -2 8 -8 4 -280]
[ 6 9 24 4 300]
集合関数
1) np.unique 配列要素から重複を取り除いてソート
2) np.union1d(x,y) 配列xとyのうち一方に存在する要素を取り出しソート
3) np.intersect1d(x,y) 配列xとyのうち共通する要素を取り出しソート
4) np.setdiff1d(x,y) 配列xとyのうち共通する要素をxから取り除いてソート
※2) = 和集合、3) = 積集合、4) = 差集合
import numpy as np
arr1 = [3,7,8,9,10,3,7]
arr2 = [3,6,8,1,7]
# 重複を取り除く
print(np.unique(arr1))
# 和集合
print(np.union1d(arr1,arr2))
# 積集合
print(np.intersect1d(arr1,arr2))
# 差集合
print(np.setdiff1d(arr1,arr2))
# 実行結果
[ 3 7 8 9 10]
[ 1 3 6 7 8 9 10]
[3 7 8]
[ 9 10]
今回の"note"を気に入って頂けましたら、是非サポートをお願いいたします!