簡單算術運算
簡單算術運算
您可以使用算術運算子 +
-
*
/
直接在 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()
函式將一個數組中的值減去另一個數組中的值,並將結果返回到一個新陣列中。
示例
將 arr2 中的值減去 arr1 中的值
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*10*10、20*20*20*20*20、30*30*30*30*30*30 等的結果。
取餘
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()
函式都對元素執行相同的絕對值運算,但為了避免與 Python 內建的 math.abs()
混淆,我們應該使用 absolute()
。
示例
返回商和模
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]。