计算一个二维NumPy数组中所有列的总和

  • Post category:Python

计算一个二维NumPy数组中所有列的总和可以使用NumPy提供的sum函数。

具体的代码如下所示:

import numpy as np

# 创建二维NumPy数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 计算所有列的总和
col_sum = np.sum(arr, axis=0)

print(col_sum)

上述代码中,首先通过np.array函数创建了一个二维数组arr,其值为:

[[1 2 3]
 [4 5 6]
 [7 8 9]]

接着,通过np.sum函数计算了所有列的总和,axis=0参数表示按列求和,得到的结果是:

[12 15 18]

即第一列的总和为12,第二列的总和为15,第三列的总和为18。

除此之外,如果要计算一个高维数组(比如三维数组)中所有行的总和,也可以使用类似的方式,只需要将axis参数设置为1即可。示例如下:

import numpy as np

# 创建三维NumPy数组
arr = np.array([[[1, 2, 3], [4, 5, 6], [7, 8, 9]],
                [[1, 2, 3], [4, 5, 6], [7, 8, 9]],
                [[1, 2, 3], [4, 5, 6], [7, 8, 9]]])

# 计算所有行的总和
row_sum = np.sum(arr, axis=1)

print(row_sum)

上述代码中,首先通过np.array函数创建了一个三维数组arr,其值为:

[[[1 2 3]
  [4 5 6]
  [7 8 9]]

 [[1 2 3]
  [4 5 6]
  [7 8 9]]

 [[1 2 3]
  [4 5 6]
  [7 8 9]]]

接着,通过np.sum函数计算了所有行的总和,axis=1参数表示按行求和,得到的结果是:

[[12 15 18]
 [12 15 18]
 [12 15 18]]

即每个二维子数组的行的总和都是一样的,为12、15和18。