NumPy 数学函数
NumPy 包含大量的各种数学运算的函数,包括三角函数,算术运算的函数,复数处理函数等。
1、三角函数
NumPy 提供了标准的三角函数:sin()、cos()、tan()。
1 import numpy as np 2 print(np.pi) 3 a = np.array([0, 30, 45, 60, 90]) 4 print('不同角度的正弦值:') 5 # 通过乘 pi/180 转化为弧度 6 print(np.sin(a * np.pi / 180)) 7 print('数组中角度的余弦值:') 8 print(np.cos(a * np.pi / 180)) 9 print('数组中角度的正切值:') 10 print(np.tan(a * np.pi / 180))
执行结果:
1 3.141592653589793 2 不同角度的正弦值: 3 [0. 0.5 0.70710678 0.8660254 1. ] 4 数组中角度的余弦值: 5 [1.00000000e+00 8.66025404e-01 7.07106781e-01 5.00000000e-01 6 6.12323400e-17] 7 数组中角度的正切值: 8 [0.00000000e+00 5.77350269e-01 1.00000000e+00 1.73205081e+00 9 1.63312394e+16]
arcsin,arccos、arctan函数返回给定角度的sin,cos,tan的反三角函数
1 import numpy as np 2 a = np.array([0, 30, 45, 60, 90]) 3 print('含有正弦值的数组:') 4 sin = np.sin(a * np.pi / 180) 5 print(sin) 6 7 print('计算角度的反正弦,返回值以弧度为单位:') 8 inv = np.arcsin(sin) 9 print(inv) 10 11 print('通过转化为角度制来检查结果:') 12 print(np.degrees(inv)) 13 14 print('arccos 和 arctan 函数行为类似:') 15 cos = np.cos(a * np.pi / 180) 16 print(cos) 17 18 print('反余弦:') 19 inv = np.arccos(cos) 20 print(inv) 21 22 print('角度制单位:') 23 print(np.degrees(inv)) 24 25 print('tan 函数:') 26 tan = np.tan(a * np.pi / 180) 27 print(tan) 28 29 print('反正切:') 30 inv = np.arctan(tan) 31 print(inv) 32 33 print('角度制单位:') 34 print(np.degrees(inv))
执行结果:
含有正弦值的数组: [0. 0.5 0.70710678 0.8660254 1. ] 计算角度的反正弦,返回值以弧度为单位: [0. 0.52359878 0.78539816 1.04719755 1.57079633] 通过转化为角度制来检查结果: [ 0. 30. 45. 60. 90.] arccos 和 arctan 函数行为类似: [1.00000000e+00 8.66025404e-01 7.07106781e-01 5.00000000e-01 6.12323400e-17] 反余弦: [0. 0.52359878 0.78539816 1.04719755 1.57079633] 角度制单位: [ 0. 30. 45. 60. 90.] tan 函数: [0.00000000e+00 5.77350269e-01 1.00000000e+00 1.73205081e+00 1.63312394e+16] 反正切: [0. 0.52359878 0.78539816 1.04719755 1.57079633] 角度制单位: [ 0. 30. 45. 60. 90.]
2、舍入函数
2.1 numpy.around() 函数返回指定数字的四舍五入值。
numpy.around(a,decimals)
参数说明:
- a: 数组
- decimals: 舍入的小数位数。 默认值为0。 如果为负,整数将四舍五入到小数点左侧的位置
1 import numpy as np 2 a = np.array([1.0, 5.55, 123, 0.567, 25.532]) 3 print('原数组:') 4 print(a) 5 print('舍入后:') 6 print(np.around(a)) 7 print(np.around(a, decimals=1)) 8 print(np.around(a, decimals=-1))
执行结果:
原数组: [ 1. 5.55 123. 0.567 25.532] 舍入后: [ 1. 6. 123. 1. 26.] [ 1. 5.6 123. 0.6 25.5] [ 0. 10. 120. 0. 30.]
2.2 numpy.floor()
numpy.floor() 返回数字的下舍整数。
1 import numpy as np 2 3 a = np.array([-1.7, 1.5, -0.2, 0.6, 10]) 4 print ('提供的数组:') 5 print (a) 6 print ('\n') 7 print ('修改后的数组:') 8 print (np.floor(a))
执行结果:
提供的数组: [-1.7 1.5 -0.2 0.6 10. ] 修改后的数组: [-2. 1. -1. 0. 10.]
2.3 numpy.ceil()
numpy.ceil() 返回数字的上入整数。
1 import numpy as np 2 a = np.array([-1.7, 1.5, -0.2, 0.6, 10]) 3 print('提供的数组:') 4 print(a) 5 print('修改后的数组:') 6 print(np.ceil(a))
执行结果:
提供的数组: [-1.7 1.5 -0.2 0.6 10. ] 修改后的数组: [-1. 2. -0. 1. 10.]