numpy.frompyfunc#
- numpy.frompyfunc(func, /, nin, nout, *[, identity])#
Takes an arbitrary Python function and returns a NumPy ufunc.
Can be used, for example, to add broadcasting to a built-in Python function (see Examples section).
- Parameters:
- funcPython function object
An arbitrary Python function.
- ninint
The number of input arguments.
- noutint
The number of objects returned by func.
- identityobject, optional
The value to use for the
identity
attribute of the resulting object. If specified, this is equivalent to setting the underlying Cidentity
field toPyUFunc_IdentityValue
. If omitted, the identity is set toPyUFunc_None
. Note that this is _not_ equivalent to setting the identity toNone
, which implies the operation is reorderable.
- Returns:
- outufunc
Returns a NumPy universal function (
ufunc
) object.
See also
vectorize
Evaluates pyfunc over input arrays using broadcasting rules of numpy.
Notes
The returned ufunc always returns PyObject arrays.
Examples
Use frompyfunc to add broadcasting to the Python function
oct
:>>> 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')