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')

亲自试一试