NumPy 创建您自己的 ufunc
如何创建您自己的 ufunc
要创建您自己的 ufunc,您必须定义一个函数,就像在 Python 中处理普通函数一样,然后使用 frompyfunc() 方法将其添加到您的 NumPy ufunc 库中。
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,它将返回另一种类型,就像这个用于连接两个或多个数组的内置 NumPy 函数一样:
实例
检查另一个函数 concatenate()
的类型:
import numpy as np print(type(np.concatenate))
如果该函数根本不被识别,它将返回一个错误:
实例
检查不存在的东西的类型。这会产生一个错误:
import numpy as np print(type(np.blahblah))
要在 if
语句中测试函数是否为 ufunc,请使用 numpy.ufunc 值(如果您使用 np 作为 numpy 的别名,则为 np.ufunc):
实例
使用 if
语句检查函数是否为 ufunc:
import numpy as np if type(np.add) == np.ufunc: print('add is ufunc') else: print('add is not ufunc')