NumPy 简单算术:加减乘除及其他运算

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
应用实时监控服务-应用监控,每月50GB免费额度
应用实时监控服务-用户体验监控,每月100OCU免费额度
简介: 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+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]

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎点赞、收藏、关注

相关文章
|
6月前
|
BI C语言 索引
Python科学计算库Numpy数值运算基础详解(超详细 附源码)
Python科学计算库Numpy数值运算基础详解(超详细 附源码)
212 0
|
3月前
|
Python
NumPy 教程 之 NumPy 算术函数 1
本教程介绍NumPy中的基本算术函数,如加(add())、减(subtract())、乘(multiply())及除(divide())。示例展示了两个数组(一个3x3矩阵与一数组[10,10,10])间的运算。值得注意的是,参与运算的数组需有相同形状或可按照NumPy的广播规则进行扩展。此外Numpy还提供了许多其他的算术函数以满足复杂计算需求。
42 7
|
3月前
|
Python
NumPy 教程 之 NumPy 算术函数 2
NumPy 教程 之 NumPy 算术函数 2
34 3
|
3月前
|
Python
NumPy 教程 之 NumPy 算术函数 4
本教程详细介绍了NumPy库中的算术函数,包括基本的加、减、乘、除操作:add(),subtract(),multiply() 和 divide(),需确保处理的数组形状一致或满足广播规则。通过`numpy.mod()`及`numpy.remainder()`函数示例展示了如何计算数组元素间的除法余数。两个函数在此例中产生相同结果:对于数组 [10,20,30] 和 [3,5,7],输出余数分别为 [1,0,2]。
45 3
|
3月前
|
Serverless Python
NumPy 教程 之 NumPy 算术函数 3
本教程详细解释了NumPy库中的算术函数,特别是`numpy.power()`函数的应用。通过示例展示如何利用此函数计算数组中每个元素的幂。重要的是,参与运算的数组需形状相同或满足广播规则。例如,对数组`[10, 100, 1000]`的每个元素求平方和以另一个数组`[1, 2, 3]`为指数的幂。
30 0
|
5月前
|
Python
NumPy 舍入小数、对数、求和和乘积运算详解
NumPy 提供五种舍入小数的方法:`trunc()`, `fix()`, `around()`, `floor()`, `ceil()`。此外,它还支持对数运算,如 `log2()`, `log10()`, `log()`,以及自定义底数的对数。NumPy 的 `sum()` 和 `prod()` 函数用于数组求和与乘积,可指定轴进行计算,`cumsum()` 和 `cumprod()` 实现累积求和与乘积。关注公众号 "Let us Coding" 获取更多内容。
58 2
|
5月前
|
存储 数据处理 C语言
NumPy 通用函数(ufunc):高性能数组运算的利器
NumPy的通用函数(ufunc)提供高性能的逐元素运算,支持向量化操作和广播机制,能应用于数组的数学、逻辑和比较运算。ufunc可提高计算速度,避免低效的循环,并允许自定义函数以满足特定需求。例如,ufunc实现加法比循环更高效。通过`frompyfunc`可创建自定义ufunc。判断函数是否为ufunc,可检查其类型是否为`numpy.ufunc`。ufunc练习包括数组的平方、平方根、元素积及性能对比。
70 0
|
6月前
|
存储 数据处理 Python
NumPy数组运算:元素级与广播机制剖析
【4月更文挑战第17天】NumPy是Python数值计算库,提供元素级运算和广播机制。元素级运算针对数组每个元素单独计算,如加法、减法等;广播机制允许不同形状数组间运算,通过扩展小数组形状匹配大数组。了解这两点能帮助更好地运用NumPy进行数值计算和数据处理。
|
6月前
|
机器学习/深度学习 数据挖掘 Python
线性代数运算在NumPy中的实现
【4月更文挑战第17天】本文介绍了NumPy在Python中实现线性代数运算的方法,包括使用`ndarray`创建向量和矩阵,矩阵的转置,矩阵乘法,计算特征值和特征向量,解线性方程组,以及计算行列式和逆矩阵。通过NumPy,科学家和数据分析师能更高效地进行科学计算和数据分析。
|
11月前
|
IDE Serverless 开发工具
Python 教程之 Numpy(9)—— 二元运算
Python 教程之 Numpy(9)—— 二元运算
65 0