NumPy數學算數函數
NumPy - 算數函數
很容易理解的是,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.]