技术文章和资源

技术文章(时间排序)

热门类别

Python PHP MySQL JDBC Linux

如何使用 NumPy sum 函数?

pythonnumpyserver side programmingprogramming

Numpy 是一个 Python 库,用于处理大型多维数组和矩阵,以及大量用于操作它们的数学函数。Numpy 的 sum() 函数用于计算沿指定轴的数组元素之和。在本文中,我们将借助实际示例了解如何使用 Numpy sum() 函数。

了解 Numpy Sum 函数

numpy.sum() 函数用于计算沿给定指定轴的数组元素之和。数组是传递给 sum() 函数的主要参数,也是控制求和轴的附加参数,返回结果的数据类型也传递给该函数。

语法

numpy.sum(a, axis=None, dtype=None, keepdims=False)

上述语法中使用的参数为:

  • a: 输入数组。

  • axis: 确定执行求和运算的轴。默认情况下,如果未指定 axis,则对数组的所有元素计算求和。

  • dtype: 指定返回数组的数据类型。如果未提供,则使用输入数组的数据类型。

  • keepdims: 如果设置为 True,则输出数组的维度将与输入数组相同,但计算总和的轴除外。

示例 1:对一维数组求和

在下面的示例中,np.array() 创建一个 NumPy 数组 arr,其值为 [1, 2, 3, 4, 5]。然后将 sum() 函数应用于数组 arr,而不指定任何轴。结果存储在变量 result 中。最后,打印数组中所有元素的总和,输出 15。

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
result = np.sum(arr)
print(result)

输出

15

示例 2:对 2D 数组求和

在下面的示例中,我们创建一个 2D NumPy 数组 arr,其值为 [[1, 2], [3, 4], [5, 6]]。sum() 函数应用于数组 arr,不指定任何轴,计算数组中所有元素的总和。然后将结果存储在变量 result 中。最后,打印二维数组中所有元素的总和,输出 2

import numpy as np

arr = np.array([[1, 2], [3, 4], [5, 6]])
result = np.sum(arr)
print(result)

输出

21

示例 3:跨指定轴求和

在下面的示例中,我们创建一个二维 NumPy 数组 arr,其值为 [[1, 2], [3, 4], [5, 6]]。

sum() 函数应用于数组 arr,指定 axis=0,即垂直轴,计算总和按列计算数组中所有元素的总和。然后将结果存储在变量 result 中。最后打印二维数组中垂直轴上所有元素按列计算的总和,输出 [9 12]。类似地,我们可以通过指定 axis =1 在行中添加元素,从而得到一个数组 [3, 7, 11],它表示二维数组 arr 中每行的总和。

import numpy as np

arr = np.array([[1, 2], [3, 4], [5, 6]])
result_column = np.sum(arr, axis=0)
result_row = np.sum(arr, axis=1)
print(result)

输出

[9 12]
[3 7 11]

示例 4:指定数据类型和保留维度

我们还可以在使用时指定返回数组的数据类型sum() 函数。通过将 keepdims 参数指定为 True,Sum() 函数还可以保留原始数组的维度。

在下面的示例中,我们将输入数组的数据类型指定为 np.float32,将输出数组的所需数据类型指定为 np.int32。此外,我们设置了 keepdims=True,这确保输出数组的维度与输入数组的维度相匹配,但计算总和的轴除外。结果是一个二维数组 [[21]],表示输入数组 arr 中所有元素的总和。

import numpy as np

arr = np.array([[1, 2], [3, 4], [5, 6]], dtype=np.float32)
result = np.sum(arr, dtype=np.int32, keepdims=True)
print(result)

输出

[[21]]

结论

在本文中,我们讨论了如何使用 Numpy sum 函数在指定轴上添加数组元素。 sum() 可用于 1D、2D 或更高维数组,并提供指定求和轴、输出数据类型和保持数组维度的功能。


相关文章