简单算术
简单算术
您可以直接在 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*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()
函数执行相同的逐元素绝对值运算,但我们应该使用 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]。