NumPy で関数をマップする
このチュートリアルでは、Python の NumPy 配列に関数をマッピングする方法を紹介します。
numpy.vectorize()
関数を使用して NumPy の関数をマップする
numpy.vectorize()
関数は、Python の配列などのオブジェクトのシーケンスを含むデータ構造に関数をマップします。シーケンスまたは配列の各要素に入力関数を連続して適用します。numpy.vectorize()
関数の return-type は、入力関数によって決定されます。次のコード例を参照してください。
import numpy as np
array = np.array([1, 2, 3, 4, 5])
def fun(e):
return e % 2
vfunc = np.vectorize(fun)
result = vfunc(array)
print(result)
出力:
[1 0 1 0 1]
最初に、np.array()
関数を使用して array
を作成し、関数 fun
を宣言しました。次に、fun
関数を np.vectorize()
関数に渡し、結果を vfunc
に保存しました。その後、array
を vfunc
に渡し、結果を result
配列内に格納しました。
NumPy で Python の lambda
キーワードを使用して関数をマッピングする
lambda
キーワードは Python で無名関数を作成します。匿名関数は、コード内で一時的に関数が必要な場合に役立ちます。ラムダ関数を使用して、NumPy 配列に関数をマッピングすることもできます。配列をラムダ関数に渡して、各配列要素に繰り返し適用できます。
import numpy as np
array = np.array([1, 2, 3, 4, 5])
def lfunc(e):
return e % 2
result = lfunc(array)
print(result)
出力:
[1 0 1 0 1]
最初に、np.array()
関数を使用して array
を作成し、lambda
キーワードを使用してラムダ関数 lfunc
を作成しました。次に、array
を lfunc
関数に渡すことにより、lfunc
を array
にマップしました。結果を result
配列内に保存し、その中に値を出力しました。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn