查找 NumPy 数组元素的和与乘积

numpyserver side programmingprogramming

一个名为 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,是因为它可以进行有效的数组计算。


相关文章