NumPy 中的簡單算術運算可以通過 `add`, `subtract`, `multiply`, `divide`, `power`, `mod`, `remainder` 等函數實現,這些函數支持條件運算,並接受 `where` 參數。例如,`add()` 實現加法,`subtract()` 表... ...
簡單算術
你可以直接在 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+20
、11+21
、12+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-20
、20-21
、30-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*20
、20*21
、30*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/3
、20/5
、30/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^3
、20^5
、30^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
除以 3
、20
除以 `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
,關註後即可獲取最新文章推送
看完如果覺得有幫助,歡迎點贊、收藏、關註