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