查找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

# Example 1: Calculate the sum of all the elements in a 1D array
a = np.array([1, 2, 3, 4, 5])
total_sum = np.sum(a)
print(total_sum) # Output: 15

# Example 2: Calculate the product of all the elements in a 1D array
b = np.array([2, 3, 4, 5])
total_prod = np.prod(b)
print(total_prod) # Output: 120

# Example 3: Calculate the sum of all the elements in a 2D array along the columns
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

# Create a 2D NumPy array
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# Add together all the array's components to get the total.
total_sum = np.sum(a)
print(total_sum) # Output: 45

# compute the array's total elements' product.
total_prod = np.prod(a)
print(total_prod) # Output: 362880

# Calculate the sum of all the elements in the array using a for loop
sum = 0
for i in range(len(a)):
   sum += a[i]
print(sum) # Output: 45

输出

45
362880
[12 15 18]

可以使用for循环或列表推导式中的for表达式遍历数组的元素,并将每个元素添加到变量total中。迭代所有元素后,将显示数组中所有元素的总和。

广播

此外,NumPy数组支持广播,这是一种强大的技术,允许NumPy对不同形状的数组进行运算。较小的数组和较大的数组通过彼此广播来具有相同的形状。这是一个使用广播计算NumPy数组的和与积的示例:

示例

import numpy as np

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

# Calculate the sum of the two arrays
total_sum = a + b
print(total_sum) # Output: [5 7 9]

# Calculate the product of the two arrays
total_prod = a * b
print(total_prod) # Output: [ 4 10 18]

输出

[5 7 9]
[ 4 10 18]

在这个例子中,我们对两个不同形状的数组执行算术运算。但是,广播功能会自动将较小的数组广播到较大的数组上,以便形状与运算兼容。

应用

计算NumPy数组的和与积的能力在许多科学和工程应用中都很有用。一些应用示例包括:

  • 根据存储在NumPy数组中的销售数据计算总收入

  • 使用存储在NumPy数组中的温度数据计算城市一段时间内的平均温度

  • 查找存储在NumPy数组中的一组数据的最大值和最小值

  • 计算存储为NumPy数组的两个向量之间的点积

结论

在这篇文章中,我们学习了如何使用sum()prod()方法计算NumPy数组元素的和与积,以及如何使用广播对不同形状的数组执行算术运算。NumPy之所以被科学和技术界选中,是因为它能够进行高效的数组计算。

更新于:2023年8月21日

浏览量:395

启动您的职业生涯

完成课程获得认证

开始学习
广告