# Create your own universal function in NumPy

• Last Updated : 02 Nov, 2021

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 own universal function in Python. To create your own universal function in NumPy, we have to apply some steps given below:

1. Define the function as usually using the def keyword.
2. Add this function to numpy library using frompyfunc() method.
3. Use this function using numpy.

## frompyfunc() method

This function allows to create an arbitrary Python function as Numpy ufunc (universal function). This method takes the following arguments :

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

Parameters:

• function – the name of the function that you create.
• inputs – the number of input arguments (arrays) that function takes.
• outputs – the number of output (arrays) that function produces.

Example :

• Create function with name fxn that takes one value and also return one value.
• The inputs are array elements one by one.
• The outputs are modified array elements using some logic.

## 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```
My Personal Notes arrow_drop_up