NumPy Mathematical Functions
NumPy includes a large number of functions for various mathematical operations, including trigonometric functions, arithmetic functions, and functions for complex number handling.
Trigonometric Functions
NumPy provides standard trigonometric functions: sin(), cos(), and tan().
Example
import numpy as np
a = np.array([0, 30, 45, 60, 90])
print('Sine values for different angles:')
# Convert to radians by multiplying by pi/180
print(np.sin(a * np.pi / 180))
print('\n')
print('Cosine values for the angles in the array:')
print(np.cos(a * np.pi / 180))
print('\n')
print('Tangent values for the angles in the array:')
print(np.tan(a * np.pi / 180))
Output result:
Sine values for different angles:
[0. 0.5 0.70710678 0.8660254 1. ]
Cosine values for the angles in the array:
[1.00000000e+00 8.66025404e-01 7.07106781e-01 5.00000000e-01
6.12323400e-17]
Tangent values for the angles in the array:
[0.00000000e+00 5.77350269e-01 1.00000000e+00 1.73205081e+00
1.63312394e+16]
The arcsin, arccos, and arctan functions return the inverse trigonometric functions for sin, cos, and tan of a given angle.
The results of these functions can be converted from radians to degrees using the numpy.degrees() function.
Example
import numpy as np
a = np.array([0, 30, 45, 60, 90])
print('Array containing sine values:')
sin = np.sin(a * np.pi / 180)
print(sin)
print('\n')
print('Calculate the arcsine of the angles, return value in radians:')
inv = np.arcsin(sin)
print(inv)
print('\n')
print('Check the results by converting to degrees:')
print(np.degrees(inv))
print('\n')
print('arccos and arctan functions behave similarly:')
cos = np.cos(a * np.pi / 180)
print(cos)
print('\n')
print('Arccosine:')
inv = np.arccos(cos)
print(inv)
print('\n')
print('In degrees:')
print(np.degrees(inv))
print('\n')
print('Tan function:')
tan = np.tan(a * np.pi / 180)
print(tan)
print('\n')
print('Arctangent:')
inv = np.arctan(tan)
print(inv)
print('\n')
print('In degrees:')
print(np.degrees(inv))
Output result:
Array containing sine values:
[0. 0.5 0.70710678 0.8660254 1. ]
Calculate the arcsine of the angles, return value in radians:
[0. 0.52359878 0.78539816 1.04719755 1.57079633]
Check the results by converting to degrees:
[ 0. 30. 45. 60. 90.]
arccos and arctan functions behave similarly:
[1.00000000e+00 8.66025404e-01 7.07106781e-01 5.00000000e-01
6.12323400e-17]
Arccosine:
[0. 0.52359878 0.78539816 1.04719755 1.57079633]
In degrees:
[ 0. 30. 45. 60. 90.]
Tan function:
[0.00000000e+00 5.77350269e-01 1.00000000e+00 1.73205081e+00
1.63312394e+16]
Arctangent:
[0. 0.52359878 0.78539816 1.04719755 1.57079633]
In degrees:
[ 0. 30. 45. 60. 90.]
Rounding Functions
The numpy.around() function returns the specified number rounded to the nearest value.
numpy.around(a, decimals)
Parameter description:
- a: array
- decimals: number of decimal places to round to. Default is 0. If negative, rounds to the left of the decimal point.
Example
import numpy as np
a = np.array([1.0, 5.55, 123, 0.567, 25.532])
print('Original array:')
print(a)
print('\n')
print('After rounding:')
print(np.around(a))
print(np.around(a, decimals=1))
print(np.around(a, decimals=-1))
Output result:
Original array:
[ 1. 5.55 123. 0.567 25.532]
After rounding:
[ 1. 6. 123. 1. 26.]
[ 1. 5.6 123. 0.6 25.5]
[ 0. 10. 120. 0. 30.]
import numpy as np
a = np.array([1.0, 5.55, 123, 0.567, 25.532])
print('Original array:')
print(a)
print('\n')
print('Rounded:')
print(np.around(a))
print(np.around(a, decimals=1))
print(np.around(a, decimals=-1))
Output result:
Original array:
[ 1. 5.55 123. 0.567 25.532]
Rounded:
[ 1. 6. 123. 1. 26.]
[ 1. 5.6 123. 0.6 25.5]
[ 0. 10. 120. 0. 30.]
numpy.floor()
numpy.floor() returns the largest integer less than or equal to the specified expression, which is a downward rounding.
Example
import numpy as np
a = np.array([-1.7, 1.5, -0.2, 0.6, 10])
print('Provided array:')
print(a)
print('\n')
print('Modified array:')
print(np.floor(a))
Output result:
Provided array:
[-1.7 1.5 -0.2 0.6 10. ]
Modified array:
[-2. 1. -1. 0. 10.]
numpy.ceil()
numpy.ceil() returns the smallest integer greater than or equal to the specified expression, which is an upward rounding.
Example
import numpy as np
a = np.array([-1.7, 1.5, -0.2, 0.6, 10])
print('Provided array:')
print(a)
print('\n')
print('Modified array:')
print(np.ceil(a))
Output result:
Provided array:
[-1.7 1.5 -0.2 0.6 10. ]
Modified array:
[-1. 2. -0. 1. 10.]