更新時間:2022-10-07 來源:黑馬程序員 瀏覽量:
在NumPy中,提供了諸如“sin”、“cos”和“exp”等常見的數學函數,這些函數叫做通用函數(ufunc)。通用函數是一種針對ndarray中的數據執(zhí)行元素級運算的函數,函數返回的是一個新的數組。通常情況下,我們將ufunc中接收一個數組參數的函數稱為一元通用函數,而接收兩個數組參數的則稱為二元通用函數。接下來,筆者就列舉一些常見的一元和二元通用函數。
1.abs、fabs:計算整數、浮點數或復數的絕對值。
2.sqrt:計算各元素的平方根。
3.square:計算各元素的平方。
4.exp:計算各元素的指數ex。
5.log、log10、log2、log1p:分別為自然對數(底數為e),底數為10的log,底數為2的log,log(1+x)。
6.sign:計算各元素的正負號:1(正數)、0(零)、-1(負數)。
7.ceil:計算各元素的ceiling值,即大于或者等于該值的最小整數。
8.floor:計算各元素的floor值,即小于等于該值的最大整數。
9.rint:將各元素四舍五入到最接近的整數。
10.modf:將數組的小數和整數部分以兩個獨立數組的形式返回。
11.isnan:返回一個表示“哪些值是NaN”的布爾型數組。
12.isfinite、isinf:分別返回表示“哪些元素是有窮的”或“哪些元素是無窮”的布爾型數組。
13.sin、sinh、cos、cosh、tan、tanh:普通型和雙曲型三角函數。
14.arcos、arccosh、arcsin:反三角函數。
1.add:將數組中對應的元素相加。
2.subtract:從第一個數組中減去第二個數組中的元素。
3.multiply:數組元素相乘。
4.divide,flooor_divide:除法或向下整除法(舍去余數)。
5.maximum、fmax:元素級的最大值計算。
6.minimum、fmin:元素級的最小值計算。
7.mod:元素級的求模計算。
8.copysign:將第二個數組中的值的符號賦值給第一個數組中的值。
9.greater、greater_equal、less、less_equal、equal、not_equal、logical_and、logical_or、logical_xor:執(zhí)行元素級的比較運算,最終產生布爾型數組,相當于運算符>、≥、<、≤、==、!=。
為了讓讀者更好地理解,接下來,通過一些示例代碼來演示上述部分函數的用法。有關一元通用函數的示例代碼如下。
arr=np.array([4, 9, 16]) # 計算數組元素的平方根 np.sqrt(arr) array([2., 3., 4.]) # 計算數組元素的絕對值 np.abs(arr) array([4, 9, 16]) # 計算數組元素的平方 np.square(arr) array([ 16, 81, 256])
有關二元通用函數的示例代碼如下。
x=np.array([12, 9, 13, 15]) y=np.array([11, 10, 4, 8]) # 計算兩個數組的和 np.add(x, y) array([23, 19, 17, 23]) # 計算兩個數組的乘積 np.multiply(x, y) array([132, 90, 52, 120]) # 兩個數組元素級最大值的比較 np.maximum(x, y) array([12, 10, 13, 15]) # 執(zhí)行元素級的比較操作 In [97]: np.greater(x, y) Out[97]: array([ True, False, True, True])