简单的算术


简单的算术

您可以使用算术运算符+-*/直接在 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)
亲自试一试 »

上面的例子将返回:
(数组([3, 2, 3, 5, 25, 1]), 数组([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]。