很容易理解的是,NumPy 包含大量的各種數學運算功能。 NumPy 提供標準的三角函式,算術運算的函式,複數處理常式等。
NumPy 擁有標準的三角函式,它為弧度制單位的給定角度返回三角函式比值。
範例
import numpy as np
a = np.array([0,30,45,60,90])
print '不同角度的正弦值:'
# 通過乘 pi/180 轉化為弧度
print np.sin(a*np.pi/180)
print '\n'
print '陣列中角度的餘弦值:'
print np.cos(a*np.pi/180)
print '\n'
print '陣列中角度的正切值:'
print np.tan(a*np.pi/180)
輸出如下:
不同角度的正弦值:
[ 0. 0.5 0.70710678 0.8660254 1. ]
陣列中角度的餘弦值:
[ 1.00000000e+00 8.66025404e-01 7.07106781e-01 5.00000000e-01
6.12323400e-17]
陣列中角度的正切值:
[ 0.00000000e+00 5.77350269e-01 1.00000000e+00 1.73205081e+00
1.63312394e+16]
arcsin
,arccos
,和arctan
函式返回給定角度的sin
,cos
和tan
的反三角函式。 這些函式的結果可以通過numpy.degrees()
函式通過將弧度制轉換為角度制來驗證。
範例
import numpy as np
a = np.array([0,30,45,60,90])
print '含有正弦值的陣列:'
sin = np.sin(a*np.pi/180)
print sin
print '\n'
print '計算角度的反正弦,返回值以弧度為單位:'
inv = np.arcsin(sin)
print inv
print '\n'
print '通過轉化為角度制來檢查結果:'
print np.degrees(inv)
print '\n'
print 'arccos 和 arctan 函式行為類似:'
cos = np.cos(a*np.pi/180)
print cos
print '\n'
print '反餘弦:'
inv = np.arccos(cos)
print inv
print '\n'
print '角度制單位:'
print np.degrees(inv)
print '\n'
print 'tan 函式:'
tan = np.tan(a*np.pi/180)
print tan
print '\n'
print '反正切:'
inv = np.arctan(tan)
print inv
print '\n'
print '角度制單位:'
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.]
numpy.around()
這個函式返回四捨五入到所需精度的值。 該函式接受以下引數。
numpy.around(a,decimals)
其中:
序號 | 引數及描述 |
---|---|
1. | a 輸入陣列 |
2. | decimals 要捨入的小數位數。 預設值為0。 如果為負,整數將四捨五入到小數點左側的位置 |
範例
import numpy as np
a = np.array([1.0,5.55, 123, 0.567, 25.532])
print '原陣列:'
print a
print '\n'
print '捨入後:'
print np.around(a)
print np.around(a, decimals = 1)
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. ]
numpy.floor()
此函式返回不大於輸入引數的最大整數。 即標量x
的下限是最大的整數i
,使得i <= x
。 注意在Python中,向下取整總是從 0 捨入。
範例
import numpy as np
a = np.array([-1.7, 1.5, -0.2, 0.6, 10])
print '提供的陣列:'
print a
print '\n'
print '修改後的陣列:'
print np.floor(a)
輸出如下:
提供的陣列:
[ -1.7 1.5 -0.2 0.6 10. ]
修改後的陣列:
[ -2. 1. -1. 0. 10.]
numpy.ceil()
ceil()
函式返回輸入值的上限,即,標量x
的上限是最小的整數i
,使得i> = x
。
範例
import numpy as np
a = np.array([-1.7, 1.5, -0.2, 0.6, 10])
print '提供的陣列:'
print a
print '\n'
print '修改後的陣列:'
print np.ceil(a)
輸出如下:
提供的陣列:
[ -1.7 1.5 -0.2 0.6 10. ]
修改後的陣列:
[ -1. 2. -0. 1. 10.]