numpy.frompyfunc () in Python

The numpy.frompyfunc (func, nin, nout) function lets you create an arbitrary Python function like a Numpy ufunc (generic 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 the array elements.

Code # 1:

# Python code for demonstration
# using numpy .frompyfunc

import nu mpy 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))

Exit:

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

Code # 2:

# Python code for demo
# custom function as ufunc

import numpy as np

 
# create an array of numbers

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

 
# custom function to check
# if not. palindrome or not

def fun (x):

s = str (x)

return s [:: - 1 ] = = s

 
# & # 39; check_palindrome & # 39; as a generic function

check_palindrome = np. frompyfunc (fun, 1 , 1

print ( "Original array-" , a)

print ( " Checking of number as palindrome- "

check_palindrome (a))

Exit:

 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 accepts accepts ndarray as input and also returns an ndarray object as output.