numpy.frompyfunc#

numpy.frompyfunc(func, /, nin, nout, *[, identity])#

接受任意 Python 函数并返回一个 NumPy ufunc。

可用于,例如,为内置 Python 函数添加广播(参见示例部分)。

参数:
funcPython 函数对象

任意 Python 函数。

ninint

输入参数的数量。

noutint

func 返回的对象数量。

identityobject, optional

用于生成对象的 identity 属性的值。如果指定,这等同于将底层 C identity 字段设置为 PyUFunc_IdentityValue。如果省略,则 identity 设置为 PyUFunc_None。请注意,这 _不_ 等同于将 identity 设置为 None,后者表示操作是可重排的。

返回:
outufunc

返回一个 NumPy 通用函数(ufunc)对象。

另请参阅

vectorize

根据 numpy 的广播规则对输入数组评估 pyfunc。

备注

返回的 ufunc 始终返回 PyObject 数组。

示例

使用 frompyfunc 为 Python 函数 oct 添加广播

>>> import numpy as np
>>> oct_array = np.frompyfunc(oct, 1, 1)
>>> oct_array(np.array((10, 30, 100)))
array(['0o12', '0o36', '0o144'], dtype=object)
>>> np.array((oct(10), oct(30), oct(100))) # for comparison
array(['0o12', '0o36', '0o144'], dtype='<U5')