Numpy 进行数组求和操作
Numpy 是一个强大的 Python 库,主要用于进行大规模数值计算。它提供了一个高性能的多维数组对象,以及用于处理这些数组的工具。本文将详细介绍如何使用 Numpy 进行数组求和操作,包括一维数组、二维数组以及更高维度的数组的求和。
一维数组求和
在 Numpy 中,可以使用 numpy.sum()
函数来计算数组中元素的总和。这是最基本的求和操作。
示例代码 1:一维数组求和
import numpy as np
# 创建一个一维数组
array_1d = np.array([1, 2, 3, 4, 5])
# 计算数组的总和
sum_1d = np.sum(array_1d)
print("Sum of array:", sum_1d)
Output:
二维数组求和
对于二维数组,Numpy 允许你不仅可以计算整个数组的元素总和,还可以计算数组中每一行或每一列的总和。
示例代码 2:二维数组整体求和
import numpy as np
# 创建一个二维数组
array_2d = np.array([[1, 2], [3, 4]])
# 计算数组的总和
sum_2d = np.sum(array_2d)
print("Sum of entire array:", sum_2d)
Output:
示例代码 3:二维数组按列求和
import numpy as np
# 创建一个二维数组
array_2d = np.array([[1, 2], [3, 4]])
# 计算每一列的总和
column_sum = np.sum(array_2d, axis=0)
print("Sum of each column:", column_sum)
Output:
示例代码 4:二维数组按行求和
import numpy as np
# 创建一个二维数组
array_2d = np.array([[1, 2], [3, 4]])
# 计算每一行的总和
row_sum = np.sum(array_2d, axis=1)
print("Sum of each row:", row_sum)
Output:
高维数组求和
对于高维数组,Numpy 同样提供了强大的功能来计算总和。可以指定任何轴(axis)来计算其总和。
示例代码 5:三维数组整体求和
import numpy as np
# 创建一个三维数组
array_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
# 计算数组的总和
sum_3d = np.sum(array_3d)
print("Sum of entire array:", sum_3d)
Output:
示例代码 6:三维数组按第一个轴求和
import numpy as np
# 创建一个三维数组
array_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
# 计算第一个轴的总和
axis0_sum = np.sum(array_3d, axis=0)
print("Sum along the first axis:", axis0_sum)
Output:
示例代码 7:三维数组按第二个轴求和
import numpy as np
# 创建一个三维数组
array_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
# 计算第二个轴的总和
axis1_sum = np.sum(array_3d, axis=1)
print("Sum along the second axis:", axis1_sum)
Output:
示例代码 8:三维数组按第三个轴求和
import numpy as np
# 创建一个三维数组
array_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
# 计算第三个轴的总和
axis2_sum = np.sum(array_3d, axis=2)
print("Sum along the third axis:", axis2_sum)
Output:
使用 keepdims
参数
在进行求和操作时,Numpy 允许保持原数组的维度,这通过设置 keepdims=True
参数来实现。这对于保持数组的形状非常有用,尤其是在进行广播操作时。
示例代码 9:保持维度的二维数组按列求和
import numpy as np
# 创建一个二维数组
array_2d = np.array([[1, 2], [3, 4]])
# 计算每一列的总和,同时保持数组维度
column_sum_keepdims = np.sum(array_2d, axis=0, keepdims=True)
print("Sum of each column with original dimensions:", column_sum_keepdims)
Output:
示例代码 10:保持维度的二维数组按行求和
import numpy as np
# 创建一个二维数组
array_2d = np.array([[1, 2], [3, 4]])
# 计算每一行的总和,同时保持数组维度
row_sum_keepdims = np.sum(array_2d, axis=1, keepdims=True)
print("Sum of each row with original dimensions:", row_sum_keepdims)
Output:
总结
Numpy 提供了非常灵活而强大的数组求和功能。通过指定不同的轴,可以轻松地计算出数组的总和、行总和或列总和。此外,keepdims
参数的使用可以帮助保持数组的原始维度,这在很多数值计算场景中非常有用。通过上述示例,我们可以看到 Numpy 在数据处理方面的强大能力,特别是在处理大规模数据时的高效性。