Numpy 创建 ufunc

如何创建自己的 ufunc

要创建自己的 ufunc,必须定义一个函数,就像 Python 中的普通函数一样,然后使用 frompyfunc() 方法。

frompyfunc() 方法采用以下参数:

  • function — 函数的名称。
  • inputs — 输入参数(数组)的数量。
  • outputs — 输出数组的数量。
实例

创建您自己的 ufunc:

  1. import numpy as np
  2. def myadd(x, y):
  3. return x+y
  4. myadd = np.frompyfunc(myadd, 2, 1)
  5. print(myadd([1, 2, 3, 4], [5, 6, 7, 8]))

检查函数是否为 ufunc

检查函数的 类型 ,以检查它是否为ufunc。

ufunc 应该返回 <class 'numpy.ufunc'>.

实例

检查函数是否为 ufunc:

  1. import numpy as np
  2. print(type(np.add))

如果它不是 ufunc,它将返回另一种类型,如用于连接两个或多个数组的内置 NumPy 函数:

实例

检查另一个函数的类型: concatenate():

  1. import numpy as np
  2. print(type(np.concatenate))

如果根本无法识别该函数,它将返回一个错误:

实例

检查的类型如果不存在,将产生一个错误:

  1. import numpy as np
  2. print(type(np.blahblah))

要在 if 语句中测试函数是否为 ufunc,请使用 numpy.ufunc 值 (或者 np.ufunc 如果将 np 用作 numpy 的别名):

实例

使用 if 语句检查函数是否为 ufunc:

  1. import numpy as np
  2. if type(np.add) == np.ufunc:
  3. print('add 是 ufunc 函数')
  4. else:
  5. print('add 不是 ufunc 函数')

分类导航