查找 NumPy 数组元素的和与乘积
一个名为 NumPy 的 Python 包用于科学计算和处理大规模数值数据。它支持多维数组和矩阵,并提供大量数学函数库来操作它们。在本教程中,我们将重点介绍两个最常用的 NumPy 函数:sum() 和 prod()。这些函数分别用于计算 NumPy 数组中所有元素的总和与乘积。
安装
使用终端内的 pip 安装 numpy 包
pip install numpy
安装成功后,按照突出显示的方式导入 -
import numpy as np
语法
NumPy 提供了两个有用的函数来计算数组的总和与乘积 -
np.sum() - np.sum(array, axis=None, dtype=None, out=None, keepdims=<no value>)
np.prod() - np.prod(array, axis=None, dtype=None, out=None, keepdims=<no value>)
您要用于操作的 NumPy 数组是您提供给两个函数的第一个参数。如果未指定可选参数 axis,则该函数将计算数组的总和或乘积。可以借助 axis 参数指定执行计算的轴。可以使用可选参数 dtype 指定返回值的数据类型。如果指定了可选参数 out,则该函数将把输出放在指定的数组中。最后,您可以使用可选参数 keepdims 决定是否保持输出数组的维度与输入数组的维度相同。
算法
导入 NumPy 库。
创建 NumPy 数组。
使用 sum() 或 prod() 函数计算数组中元素的总和或乘积。
示例
import numpy as np # 示例 1:计算一维数组中所有元素的总和 a = np.array([1, 2, 3, 4, 5]) total_sum = np.sum(a) print(total_sum) #输出:15 # 示例 2:计算一维数组中所有元素的乘积 b = np.array([2, 3, 4, 5]) total_prod = np.prod(b) print(total_prod) # 输出:120 # 示例 3:计算二维数组中所有元素沿列的和 c = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) col_sum = np.sum(c, axis=0) print(col_sum) # Output: [12 15 18]
输出
15 120 [12 15 18]
示例
如何使用 NumPy 中的 sum() 和 prod() 函数计算二维数组中所有元素的总和与乘积。
import numpy as np # 创建二维 NumPy 数组 a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 将数组的所有元素相加得到总数。 total_sum = np.sum(a) print(total_sum) # 输出:45 # 计算数组总元素的乘积。 total_prod = np.prod(a) print(total_prod) # 输出:362880 # 使用 for 循环计算数组中所有元素的总和 sum = 0 for i in range(len(a)): sum += a[i] print(sum) # 输出:45
输出
45 362880 [12 15 18]
要循环遍历数组的元素并将每个元素添加到变量 total,请在列表推导中使用 for 循环或 for 表达式。遍历所有元素后,将显示数组中所有项目的总数。
广播
此外,NumPy 数组支持广播,这是一种强大的技术,使 NumPy 能够对各种形式的数组进行操作。为了使较小的数组和较大的数组具有相似的形式,它们会相互广播。下面是如何使用广播计算 NumPy 数组的和与乘积的说明 -
示例
import numpy as np a = np.array([1, 2, 3]) b = np.array([4, 5, 6]) # 计算两个数组的总和 total_sum = a + b print(total_sum) # 输出:[5 7 9] # 计算两个数组的乘积 total_prod = a * b print(total_prod) # 输出:[ 4 10 18]
输出
[5 7 9] [ 4 10 18]
在此示例中,我们在两个不同形状的数组之间执行算术运算。但是,广播功能会自动将较小的数组广播到较大的数组,以便形状与操作兼容。
应用
计算 NumPy 数组的总和与乘积的能力在许多科学和工程应用中都很有用。一些应用示例包括 -
根据存储在 NumPy 数组中的销售数据计算总收入
使用存储在 NumPy 数组中的温度数据计算某个城市在一段时间内的平均温度
查找存储在 NumPy 数组中的一组数据的最大值和最小值
计算存储为 NumPy 数组的两个向量之间的点积
结论
在这篇文章中,我们学习了如何使用 sum() 和 prod() 方法计算 NumPy 数组组件的总和与乘积,以及如何使用广播对具有各种形式的数组进行算术运算。科技界之所以选择 NumPy,是因为它可以进行有效的数组计算。