NumPy 簡單算術:加減乘除及其他運算

小万哥丶發表於2024-06-11

簡單算術

你可以直接在 NumPy 陣列之間使用算術運算子 + - * /,但本節討論了一個擴充套件,其中我們有函式可以接受任何類似陣列的物件,如列表、元組等,並根據條件執行算術運算。

條件算術:意味著我們可以定義算術運算應該發生的條件。

所有討論過的算術函式都接受一個 where 引數,我們可以在其中指定條件。

加法

add() 函式對兩個陣列的內容求和,並將結果返回到一個新陣列中。

示例:將 arr1 中的值加到 arr2 的值中:

import numpy as np

arr1 = np.array([10, 11, 12, 13, 14, 15])
arr2 = np.array([20, 21, 22, 23, 24, 25])

newarr = np.add(arr1, arr2)

print(newarr)

上面的示例將返回 [30 32 34 36 38 40],這是 10+2011+2112+22 等的和。

減法

subtract() 函式將一個陣列中的值減去另一個陣列中的值,並將結果返回到一個新陣列中。

示例:從 arr1 中的值中減去 arr2 中的值:

import numpy as np

arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 = np.array([20, 21, 22, 23, 24, 25])

newarr = np.subtract(arr1, arr2)

print(newarr)

上面的示例將返回 [-10 -1 8 17 26 35],這是 10-2020-2130-22 等的結果。

乘法

multiply() 函式將一個陣列中的值與另一個陣列中的值相乘,並將結果返回到一個新陣列中。

示例:將 arr1 中的值與 arr2 中的值相乘:

import numpy as np

arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 = np.array([20, 21, 22, 23, 24, 25])

newarr = np.multiply(arr1, arr2)

print(newarr)

上面的示例將返回 [200 420 660 920 1200 1500],這是 10*2020*2130*22 等的結果。

除法

divide() 函式將一個陣列中的值除以另一個陣列中的值,並將結果返回到一個新陣列中。

示例:將 arr1 中的值除以 arr2 中的值:

import numpy as np

arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 = np.array([3, 5, 10, 8, 2, 33])

newarr = np.divide(arr1, arr2)

print(newarr)

上面的示例將返回 [3.33333333 4. 3. 5. 25. 1.81818182],這是 10/320/530/10 等的結果。

power() 函式將第一個陣列中的值提高到第二個陣列中的值的冪,並將結果返回到一個新陣列中。

示例:將 arr1 中的值提高到 arr2 中的值的冪:

import numpy as np

arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 = np.array([3, 5, 6, 8, 2, 33])

newarr = np.power(arr1, arr2)

print(newarr)

上面的示例將返回 [1000 3200000 729000000 6553600000000 2500 0],這是 10^320^530^6 等的結果。

餘數

mod()remainder() 函式都返回第一個陣列中的值與第二個陣列中的值對應的餘數,並將結果返回到一個新陣列中。

示例:返回餘數:

import numpy as np

arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 = np.array([3, 7, 9, 8, 2, 33])

newarr = np.mod(arr1, arr2)

print(newarr)

上面的示例將返回 [1 6 3 0 0 27],這是 10 除以 3 的餘數 (10%3)、20 除以 7 的餘數 (20%7)、30 除以 9 的餘數 (30%9) 等。

當使用 remainder() 函式時,結果相同:

示例:返回餘數:

import numpy as np

arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 = np.array([3, 7, 9, 8, 2, 33])

newarr = np.remainder(arr1, arr2)

print(newarr)

商和餘數

divmod() 函式返回商和餘數。返回值是兩個陣列,第一個陣列包含商,第二個陣列包含餘數。

示例:返回商和餘數:

import numpy as np

arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 = np.array([3, 7, 9, 8, 2, 33])

newarr = np.divmod(arr1, arr2)

print(newarr)

上面的示例將返回:

(array([3, 2, 3, 5, 25, 1]), array([1, 6, 3, 0, 0, 27]))

第一個陣列表示商,(當你將 10 除以 320 除以 `7

30除以9` 等時得到的整數值。
第二個陣列表示相同除法的餘數。

絕對值

absolute()abs() 函式都對每個元素進行相同的絕對值操作,但我們應該使用 absolute() 來避免與 Python 的內建 math.abs() 混淆。

示例:返回商

和餘數:

import numpy as np

arr = np.array([-1, -2, 1, 2, 3, -4])

newarr = np.absolute(arr)

print(newarr)

上面的示例將返回 [1 2 1 2 3 4]

最後

為了方便其他裝置和平臺的小夥伴觀看往期文章:

微信公眾號搜尋:Let us Coding,關注後即可獲取最新文章推送

看完如果覺得有幫助,歡迎點贊、收藏、關注

相關文章