Numpy 创建 ufunc
如何创建自己的 ufunc
要创建自己的 ufunc,必须定义一个函数,就像 Python 中的普通函数一样,然后使用 frompyfunc() 方法。
frompyfunc() 方法采用以下参数:
- function — 函数的名称。
- inputs — 输入参数(数组)的数量。
- outputs — 输出数组的数量。
实例
创建您自己的 ufunc:
import numpy as npdef myadd(x, y):return x+ymyadd = 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 npprint(type(np.add))
如果它不是 ufunc,它将返回另一种类型,如用于连接两个或多个数组的内置 NumPy 函数:
实例
检查另一个函数的类型: concatenate():
import numpy as npprint(type(np.concatenate))
如果根本无法识别该函数,它将返回一个错误:
实例
检查的类型如果不存在,将产生一个错误:
import numpy as npprint(type(np.blahblah))
要在 if 语句中测试函数是否为 ufunc,请使用 numpy.ufunc 值 (或者 np.ufunc 如果将 np 用作 numpy 的别名):
实例
使用 if 语句检查函数是否为 ufunc:
import numpy as npif type(np.add) == np.ufunc:print('add 是 ufunc 函数')else:print('add 不是 ufunc 函数')