NumPy 包包含许多数学函数,它们提供各种数学运算所需的所有功能。它包括三角函数、算术函数和处理复数的函数。下面提到的是最常用的数学函数。
功能 | 描述 |
---|---|
sin() | 返回以弧度为单位的角度的三角正弦值。 |
cos() | 返回三角函数 以弧度为单位的角度的余弦。 |
tan() | 返回以弧度为单位的角度的三角正切。 |
arcsin() | 返回某个值的反正弦值。 |
arccos() | 返回圆弧 值的余弦值。 |
arctan() | 返回值的反正切值。 |
around() | 四舍五入到给定的小数位数。 |
floor() | 将给定的数字向下舍入到 最接近的整数。 |
ceil() | 将给定数字向上舍入到最接近的整数。 |
让我们详细讨论这些函数:
三角函数
numpy 包提供了三角函数,可以用于计算给定角度(以弧度为单位)的三角比。考虑以下示例。
import numpy as np
Arr = np.array([0, 30, 60, 90])
#将角度转换为弧度
Arr = Arr*np.pi/180
print("\n角度的sin值:")
print(np.sin(Arr))
print("\n角度的cos值:")
print(np.cos(Arr))
print("\n角度的tan值:")
print(np.tan(Arr))
上述代码的输出将是:
角度的sin值:
[ 0. 0.5 0.8660254 1. ]
角度的cos值:
[ 1.00000000e+00 8.66025404e-01 5.00000000e-01 6.12323400e-17]
角度的tan值:
[ 0.00000000e+00 5.77350269e-01 1.73205081e+00 1.63312394e+16]
同样,arcsin、arcos、和 arctan 函数可用于计算给定角度的 sin、cos 和 tan 的三角反函数。这些函数返回以弧度为单位的角度值,可以使用 numpy. Degrees() 函数将其转换为度数。
import numpy as np
Arr = np.array([0, 30, 60, 90])
#将角度转换为弧度
Arr = Arr*np.pi/180
sinArr = np.sin(Arr)
inv_sinArr = np.arcsin(sinArr)
print("角度的sin值:")
print(sinArr)
print("sin 值的倒数(以弧度为单位):")
print(inv_sinArr)
print("sin 值的倒数(以度为单位):")
print(np.degrees(inv_sinArr))
cosArr = np.cos(Arr)
inv_cosArr = np.arccos(cosArr)
print("\n角度的cos值:")
print(cosArr)
print("cos 值的倒数(以弧度为单位):")
print(inv_cosArr)
print("cos 值的倒数(以度为单位):")
print(np.degrees(inv_cosArr))
tanArr = np.tan(Arr)
inv_tanArr = np.arctan(tanArr)
print("\n角度的tan值:")
print(tanArr)
print("tan 值的倒数(以弧度为单位):")
print(inv_tanArr)
print("tan 值的倒数(以度为单位):")
print(np.degrees(inv_tanArr))
上述代码的输出将是:
角度的sin值:
[ 0. 0.5 0.8660254 1. ]
sin 值的倒数(以弧度为单位):
[ 0. 0.52359878 1.04719755 1.57079633]
sin 值的倒数(以度为单位):
[ 0. 30. 60. 90.]
角度的cos值:
[ 1.00000000e+00 8.66025404e-01 5.00000000e-01 6.12323400e-17]
cos 值的倒数(以弧度为单位):
[ 0. 0.52359878 1.04719755 1.57079633]
cos 值的倒数(以度为单位):
[ 0. 30. 60. 90.]
角度的tan值:
[ 0.00000000e+00 5.77350269e-01 1.73205081e+00 1.63312394e+16]
tan 值的倒数(以弧度为单位):
[ 0. 0.52359878 1.04719755 1.57079633]
tan 值的倒数(以度为单位):
[ 0. 30. 60. 90.]
舍入函数
numpy.around() 函数
numpy.around() 函数返回四舍五入到所需精度的值。使用此函数的语法如下:
numpy.around(a, decimals)
a | 必需。 指定输入数组 [array_like]。 |
小数 | 可选。 指定数字要舍入的小数位数。默认值为 0。如果提供负整数,则该整数将四舍五入到小数点左侧。 |
下面的示例显示如何使用numpy.around()函数。
import numpy as np
Arr = np.array([0.655, 6.125, 52.978, 167.23])
#将数组四舍五入到小数点后两位
print("Rounded to 2 decimal places:")
print(np.around(Arr, 2))
#将数组四舍五入到小数点后 0 位
print("\nRounded to 0 decimal places:")
print(np.around(Arr))
#将数组四舍五入到-1位小数
print("\nRounded to -1 decimal places:")
print(np.around(Arr, -1))
上述代码的输出将是:
Rounded to 2 decimal places:
[ 0.66 6.12 52.98 167.23]
Rounded to 0 decimal places:
[ 1. 6. 53. 167.]
Rounded to -1 decimal places:
[ 0. 10. 50. 170.]
numpy.floor( ) 函数
numpy.floor() 函数返回输入数据向下取整值。标量 x 的下限是最大整数 i,使得 i <= x。请参阅下面的示例:
import numpy as np
Arr = np.array([0.65, 6.56, 52.67, 167.23])
print("原始数组:")
print(Arr)
print("\n向下取整数组:")
print(np.floor(Arr))
上述代码的输出将是:
原始数组:
[ 0.65 6.56 52.67 167.23]
向下取整数组:
[ 0. 6. 52. 167.]
numpy.ceil() 函数
numpy.ceil() 函数返回输入数据的向上取整值。标量 x 的上限是最小整数 i,使得 i >= x。考虑下面的示例。
import numpy as np
Arr = np.array([0.65, 6.56, 52.67, 167.23])
print("原始数组:")
print(Arr)
print("\n向上取整值的数组:")
print(np.ceil(Arr))
上述代码的输出将是:
原始数组:
[ 0.65 6.56 52.67 167.23]
向上取整值的数组:
[ 1. 7. 53. 168.]