Numpy ufunc | Universal functions

21 Jul, 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. These functions include standard trigonometric functions, functions for arithmetic operations, handling complex numbers, statistical functions, etc. Universal functions have various characteristics which are as follows-  
These functions operates on ndarray (N-dimensional array) i.e Numpy’s array class.
It performs fast element-wise array operations.
It supports various features like array broadcasting, type casting etc.
Numpy, universal functions are objects those belongs to numpy.ufunc class.
Python functions can also be created as a universal function using frompyfunc library function.
Some ufuncs are called automatically when the corresponding arithmetic operator is used on arrays. For example when addition of two array is performed element-wise using ‘+’ operator then np.add() is called internally.
Some of the basic universal functions in Numpy are- 
These functions work on radians, so angles need to be converted to radians by multiplying by pi/180. Only then we can call trigonometric functions. They take an array as input arguments. It includes functions like-
 
Python3
# Python code to demonstrate trigonometric functionimport numpy as np  # create an array of anglesangles = np.array([0, 30, 45, 60, 90, 180])   # conversion of degree into radians# using deg2rad functionradians = np.deg2rad(angles)  # sine of anglesprint('Sine of angles in the array:')sine_value = np.sin(radians)print(np.sin(radians))  # inverse sine of sine valuesprint('Inverse Sine of sine values:')print(np.rad2deg(np.arcsin(sine_value)))  # hyperbolic sine of anglesprint('Sine hyperbolic of angles in the array:')sineh_value = np.sinh(radians)print(np.sinh(radians))  # inverse sine hyperbolic print('Inverse Sine hyperbolic:')print(np.sin(sineh_value))   # hypot function demonstrationbase = 4height = 3print('hypotenuse of right triangle is:')print(np.hypot(base, height))
Sine of angles in the array:
[  0.00000000e+00   5.00000000e-01   7.07106781e-01   8.66025404e-01
   1.00000000e+00   1.22464680e-16]

Inverse Sine of sine values:
[  0.00000000e+00   3.00000000e+01   4.50000000e+01   6.00000000e+01
   9.00000000e+01   7.01670930e-15]

Sine hyperbolic of angles in the array:
[  0.           0.54785347   0.86867096   1.24936705   2.3012989
  11.54873936]

Inverse Sine hyperbolic:
[ 0.          0.52085606  0.76347126  0.94878485  0.74483916 -0.85086591]

hypotenuse of right triangle is:
5.0
 
These functions are used to calculate mean, median, variance, minimum of array elements. It includes functions like- 
 
Python3
# Python code demonstrate statistical functionimport numpy as np  # construct a weight arrayweight = np.array([50.7, 52.5, 50, 58, 55.63, 73.25, 49.5, 45])  # minimum and maximum print('Minimum and maximum weight of the students: ')print(np.amin(weight), np.amax(weight))  # range of weight i.e. max weight-min weightprint('Range of the weight of the students: ')print(np.ptp(weight))  # percentileprint('Weight below which 70 % student fall: ')print(np.percentile(weight, 70))   # mean print('Mean weight of the students: ')print(np.mean(weight))  # median print('Median weight of the students: ')print(np.median(weight))  # standard deviation print('Standard deviation of weight of the students: ')print(np.std(weight))  # variance print('Variance of weight of the students: ')print(np.var(weight))  # average print('Average weight of the students: ')print(np.average(weight))
Minimum and maximum weight of the students: 
45.0 73.25

Range of the weight of the students: 
28.25

Weight below which 70 % student fall: 
55.317

Mean weight of the students: 
54.3225

Median weight of the students: 
51.6

Standard deviation of weight of the students: 
8.05277397857

Variance of weight of the students: 
64.84716875

Average weight of the students: 
54.3225
 
These functions accept integer values as input arguments and perform bitwise operations on binary representations of those integers. It include functions like- 
 
Python3
# Python code to demonstrate bitwise-functionimport numpy as np  # construct an array of even and odd numberseven = np.array([0, 2, 4, 6, 8, 16, 32])odd = np.array([1, 3, 5, 7, 9, 17, 33])  # bitwise_andprint('bitwise_and of two arrays: ')print(np.bitwise_and(even, odd))  # bitwise_orprint('bitwise_or of two arrays: ')print(np.bitwise_or(even, odd))  # bitwise_xorprint('bitwise_xor of two arrays: ')print(np.bitwise_xor(even, odd))   # invert or notprint('inversion of even no. array: ')print(np.invert(even))  # left_shift print('left_shift of even no. array: ')print(np.left_shift(even, 1))  # right_shift print('right_shift of even no. array: ')print(np.right_shift(even, 1))
bitwise_and of two arrays: 
[ 0  2  4  6  8 16 32]

bitwise_or of two arrays: 
[ 1  3  5  7  9 17 33]

bitwise_xor of two arrays: 
[1 1 1 1 1 1 1]

inversion of even no. array: 
[ -1  -3  -5  -7  -9 -17 -33]

left_shift of even no. array: 
[ 0  4  8 12 16 32 64]

right_shift of even no. array: 
[ 0  1  2  3  4  8 16]
 
akshaysingh98088
Python-numpy
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Read JSON file using Python
Adding new column to existing DataFrame in Pandas
Python map() function
How to get column names in Pandas dataframe
Different ways to create Pandas Dataframe
Enumerate() in Python
Read a file line by line in Python
Python String | replace()
How to Install PIP on Windows ?
Iterate over a list in Python