NumPy 简单算术:加减乘除及其他运算
cnblogs 2024-06-12 08:09:03 阅读 75
NumPy 中的简单算术运算可以通过 `add`, `subtract`, `multiply`, `divide`, `power`, `mod`, `remainder` 等函数实现,这些函数支持条件运算,并接受 `where` 参数。例如,`add()` 实现加法,`subtract()` 表示减法,`multiply()` 是乘法,`divide()` 用于除法,`power()` 提升到幂次,`mod()` 和 `remainder()` 计算余数。`absolute()` 或 `abs()` 可以计算数组元素的绝对值。这些函数可用于数组或类似数组对象,返回新数组存储运算结果。
简单算术
你可以直接在 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
,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎点赞、收藏、关注
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。