独自のufuncを作成する
独自のufuncを作成する方法
独自のufuncを作成するには、Pythonの通常の関数で行うように関数を定義してから、メソッドを使用してNumPyufuncライブラリに追加する必要がありますfrompyfunc()
。
このfrompyfunc()
メソッドは次の引数を取ります。
function
-関数の名前。inputs
-入力引数(配列)の数。outputs
-出力配列の数。
例
追加用に独自のufuncを作成します。
import numpy as np
def myadd(x, y):
return x+y
myadd = np.frompyfunc(myadd, 2, 1)
print(myadd([1, 2,
3, 4], [5, 6, 7, 8]))
関数がufuncであるかどうかを確認します
関数のタイプをチェックして、それがufuncであるかどうかをチェックします。
ufuncはを返す必要があり<class 'numpy.ufunc'>
ます。
例
関数がufuncであるかどうかを確認します。
import numpy as np
print(type(np.add))
ufuncでない場合は、2つ以上の配列を結合するためのこの組み込みのNumPy関数のように、別のタイプを返します。
例
別の関数の型を確認してください:concatenate():
import numpy as np
print(type(np.concatenate))
関数がまったく認識されない場合は、エラーが返されます。
例
存在しないものの種類を確認してください。これにより、エラーが発生します。
import numpy as np
print(type(np.blahblah))
関数がifステートメントでufuncであるかどうかをテストするには、numpy.ufunc
値を使用します(またはnp.ufunc
、npをnumpyのエイリアスとして使用する場合)。
例
ifステートメントを使用して、関数がufuncであるかどうかを確認します。
import numpy as np
if type(np.add) == np.ufunc:
print('add is ufunc')
else:
print('add is not ufunc')