NumPy - 通用求和函数 (ufunc)
通用求和函数 (ufunc)
NumPy 中的通用求和函数 (ufunc) 是用于计算数组中元素之和的函数。
此操作可以针对整个数组执行,也可以针对特定轴(例如行或列)执行。NumPy 中主要的通用求和函数是 numpy.sum() 函数。
NumPy 求和
numpy.sum() 函数用于计算指定轴上数组元素之和。它可以对数组中的所有元素求和,也可以对特定轴(例如,按行或按列)上的元素求和。
示例
在以下示例中,我们使用 numpy.sum() 函数计算数组中元素的和 -
import numpy as np # 定义一个数组 a = np.array([[1, 2, 3], [4, 5, 6]]) # 计算所有元素的和 total_sum = np.sum(a) # 计算列和 column_sum = np.sum(a, axis=0) # 计算行和 row_sum = np.sum(a, axis=1) print("总和:", total_sum) print("按列求和:", column_sum) print("按行求和:", row_sum)
以下是得到的输出 −
总和:21 按列求和:[5 7 9] 按行求和:[ 6 15]
NumPy 累积和
numpy.cumsum() 函数用于计算数组元素沿指定轴的累积和。它返回一个数组,其中每个元素都是前面元素的累计和。
示例
在下面的示例中,我们使用 numpy.cumsum() 函数计算数组中元素的累计和 -
import numpy as np # 定义一个数组 a = np.array([1, 2, 3, 4, 5]) # 计算累计和 cumulative_sum = np.cumsum(a) print("累计和:", accumulated_sum)
这将产生以下结果 -
累计和: [ 1 3 6 10 15]
NumPy 累计乘积
numpy.cumprod() 函数用于计算数组元素沿指定轴的累积乘积。它返回一个数组,其中每个元素都是前几个元素的累积乘积。
示例
在下面的示例中,我们使用 numpy.cumprod() 函数计算数组中元素的累积乘积 -
import numpy as np # 定义一个数组 a = np.array([1, 2, 3, 4, 5]) # 计算累积乘积 cumulative_product = np.cumprod(a) print("累积乘积:", accumulated_product)
以下是上述代码的输出 -
累积乘积: [ 1 2 6 24 120]
带条件的 NumPy 求和
numpy.sum() 函数也可以与条件语句一起使用,对满足特定条件的元素求和。
示例
在下面的示例中,我们使用 numpy.sum() 函数计算大于指定值的元素之和 -
import numpy as np # 定义一个数组 a = np.array([1, 2, 3, 4, 5]) # 计算大于 2 的元素之和 conditional_sum = np.sum(a[a > 2]) print("大于 2 的元素之和:", conditional_sum)
结果如下:-
大于 2 的元素之和:12
NumPy 乘积
numpy.prod() 函数用于计算数组元素在指定轴上的乘积。它可以计算数组中所有元素或特定轴上所有元素的乘积。
示例
以下示例中,我们使用 numpy.prod() 函数计算数组中元素的乘积 -
import numpy as np # 定义数组 a = np.array([1, 2, 3, 4, 5]) # 计算所有元素的乘积 total_product = np.prod(a) print("总乘积:", total_product)
结果如下 -
总乘积:120