numpy.frompyfunc#

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

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

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

参数:
funcPython 函数对象

任意 Python 函数。

ninint

输入参数的数量。

noutint

func 返回的对象数量。

identity对象,可选

用于结果对象的 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')