1、如何创建定义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]))
2、判断一个函数是否是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')