Numpy 轴的简单解释(附示例)


NumPy中的许多函数要求您指定一个轴来应用特定的计算。

一般来说,适用以下经验法则:

  • axis=0 :应用“每列”计算
  • axis=1 :应用“每行”计算

下图显示了 2 行 4 列的 NumPy 矩阵上轴的直观表示:

NumPy 轴

以下示例展示了如何在不同场景中使用以下 NumPy 矩阵的axis参数:

 import numpy as np

#create NumPy matrix
my_matrix = np. matrix ([[1, 4, 7, 8], [5, 10, 12, 14]])

#view NumPy matrix
my_matrix

matrix([[ 1, 4, 7, 8],
        [5, 10, 12, 14]])

示例 1:求沿不同轴的平均值

我们可以使用axis=0求 NumPy 矩阵每列的平均值:

 #find mean of each column in matrix
n.p. mean (my_matrix, axis= 0 )

matrix([[ 3. , 7. , 9.5, 11. ]])

输出显示矩阵每列的平均值。

例如:

  • 第一列的平均值为 (1 + 5) / 2 = 3
  • 第二列的平均值为 (4 + 10) / 2 = 7

等等。

我们还可以使用axis=1求矩阵中每一行的平均值:

 #find mean of each row in matrix
n.p. mean (my_matrix, axis= 1 )

matrix([[ 5. ],
        [10.25]])

输出显示矩阵每行的平均值。

例如:

  • 第一行的平均值为 (1+4+7+8) / 4 = 5
  • 第二行的平均值为 (5+10+12+14) / 4 = 10.25

示例 2:求沿不同轴的总和

我们可以使用axis=0求矩阵各列的和:

 #find sum of each column in matrix
n.p. sum (my_matrix, axis= 0 )

matrix([[ 6, 14, 19, 22]])

输出显示矩阵每列的总和。

例如:

  • 第一列的总和是 1 + 5 = 6
  • 第二列的总和是 4 + 10 = 14

等等。

我们还可以使用axis=1求矩阵每行的和:

 #find sum of each row in matrix
n.p. sum (my_matrix, axis= 1 )

matrix([[20],
        [41]])

输出显示矩阵每行的总和。

例如:

  • 第一行的总和是 1+4+7+8 = 20
  • 第二行的总和是 5+10+12+14 = 41

其他资源

以下教程解释了如何在 NumPy 中执行其他常见操作:

如何使用随机数创建 NumPy 矩阵
如何标准化 NumPy 矩阵
如何在 NumPy 中向矩阵添加行

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注