Open In App

numpy.frompyfunc() in Python

Improve
Improve
Like Article
Like
Save
Share
Report

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.
 



Last Updated : 29 Jun, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads