Create Our Own Universal Function in NumPy
Below are the ways by which we can create our universal function in NumPy:
- Using frompyfunc() Function
- Using numpy.vectorize() Function
Creating Our Own Universal Function Using frompyfunc() method
Numpy.frompyfunc() function allows to creation of an arbitrary Python function as Numpy ufunc (universal function). In this example, a custom Python function fxn
that calculates the modulo 2 operation is converted into a NumPy universal function using np.frompyfunc
.
Python3
# using numpy import numpy as np # creating own function def fxn(val): return (val % 2 ) # adding into numpy mod_2 = np.frompyfunc(fxn, 1 , 1 ) # creating numpy array arr = np.arange( 1 , 11 ) print ( "arr :" , * arr) # using function over numpy array mod_arr = mod_2(arr) print ( "mod_arr :" , * mod_arr) |
Output :
arr : 1 2 3 4 5 6 7 8 9 10
mod_arr : 1 0 1 0 1 0 1 0 1 0
Create Own Universal Function Using np.vectorize() Function
In this example, the Python function circle_area
computes the area of a circle given its radius. Using np.vectorize()
, a vectorized universal function circle_ufunc
is created from this Python function. When applied to an array radius_values
containing radii, the ufunc computes the areas for each radius, producing an array areas
which is then printed.
Python3
import numpy as np def circle_area(radius): return np.pi * radius * * 2 # Create a vectorized version of the function circle_ufunc = np.vectorize(circle_area) # Test the ufunc with a single value radius_values = np.array([ 1 , 2 , 3 , 4 ]) areas = circle_ufunc(radius_values) print (areas) |
Output:
[ 3.14159265 12.56637061 28.27433388 50.26548246]
Create your own universal function in NumPy
Universal functions in NumPy are simple mathematical functions. It is just a term that we gave to mathematical functions in the Numpy library. Numpy provides various universal functions that cover a wide variety of operations. However, we can create our universal function in Python. In this article, we will see how to create our own universal function using NumPy.
Contact Us