查找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之所以被科学和技术界选中,是因为它能够进行高效的数组计算。