numpy.frompyfunc() in Python
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.Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course
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.frompyfuncimport numpy as np# create an array of numbersa = np.array([34, 67, 89, 15, 33, 27])# python str function as ufuncstring_generator = np.frompyfunc(str, 1, 1)print("Original array-", a)print("After conversion to string-", string_generator(a)) |
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 ufuncimport numpy as np# create an array of numbersa = np.array([345, 122, 454, 232, 334, 56, 66])# user-defined function to check# whether a no. is palindrome or notdef fun(x): s = str(x) return s[::-1]== s # 'check_palindrome' as universal functioncheck_palindrome = np.frompyfunc(fun, 1, 1)print("Original array-", a)print("Checking of number as palindrome-", check_palindrome(a)) |
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.


