python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > NumPy简单算术

一文详解NumPy简单算术及其他运算的实现

作者:小万哥丶

你可以直接在 NumPy 数组之间使用算术运算符 + - * /,但本节讨论了一个扩展,其中我们有函数可以接受任何类似数组的对象,如列表、元组等,并根据条件执行算术运算,文中通过代码示例给大家讲解的非常详细,需要的朋友可以参考下

简单算术

你可以直接在 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]

最后

到此这篇关于一文详解NumPy简单算术的实现(加减乘除及其他运算)的文章就介绍到这了,更多相关NumPy简单算术内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文