numpy.frompyfunc() in Python (original) (raw)

Last Updated : 29 Jun, 2021

numpy.frompyfunc(func, nin, nout) function allows to create an arbitrary Python function as Numpy ufunc (universal function).

Parameters:
func: [A python function object ] An arbitrary python function
nin: [int] Number of input arguments to that function.
nout: [int] Number of objects returned by that function.
Return: A Numpy universal function object.

For example, abs_value = numpy.frompyfunc(abs, 1, 1) will create a ufunc that will return the absolute values of array elements.

Code #1:

Python3 `

Python code to demonstrate the

use of numpy.frompyfunc

import numpy as np

create an array of numbers

a = np.array([34, 67, 89, 15, 33, 27])

python str function as ufunc

string_generator = np.frompyfunc(str, 1, 1)

print("Original array-", a) print("After conversion to string-", string_generator(a))

`

Output:

Original array- [34 67 89 15 33 27] After conversion to string- ['34' '67' '89' '15' '33' '27']

Code #2:

Python3 `

Python code to demonstrate

user-defined function as ufunc

import numpy as np

create an array of numbers

a = np.array([345, 122, 454, 232, 334, 56, 66])

user-defined function to check

whether a no. is palindrome or not

def fun(x): s = str(x) return s[::-1]== s

'check_palindrome' as universal function

check_palindrome = np.frompyfunc(fun, 1, 1) print("Original array-", a) print("Checking of number as palindrome-", check_palindrome(a))

`

Output:

Original array- [345 122 454 232 334 56 66] Checking of number as palindrome- [False False True True False False True]

Note: This custom ufunc created using frompyfunc always accept a ndarray as an input argument and also return a ndarray object as output.