numpy.frompyfunc#

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

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

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

参数:
funcPython 函数对象

任意 Python 函数。

ninint

输入参数的数量。

noutint

func 返回的对象数量。

identityobject,可选

用于结果对象的 identity 属性的值。如果指定,这相当于将底层 C identity 字段设置为 PyUFunc_IdentityValue。如果省略,身份设置为 PyUFunc_None。请注意,这_不_等同于将身份设置为 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')