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] 

同样,arcsinarcos、和 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.]