# 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.

For example, abs_value = numpy.frompyfunc(abs, 1, 1) will create a ufunc that will return the absolute values of array elements.

Code #1:

 `# Python code to demonstrate the  ` `# use of numpy.frompyfunc  ` `import` `numpy as np ` ` `  `# create an array of numners ` `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:

 `# 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.

My Personal Notes arrow_drop_up Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Improved By : Akanksha_Rai

Article Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.