NumPy轴的简单解释(附例子)

133 阅读2分钟

NumPy中的许多函数都要求你指定一个轴来应用某种计算。

通常情况下,以下经验法则适用。

  • axis=0: 应用计算为 "列式"。
  • axis=1: 应用 "行 "的计算。

下面的图片显示了一个2行4列的NumPy矩阵上的坐标轴的可视化表示。

NumPy axes

下面的例子展示了如何在不同的情况下用下面的NumPy矩阵使用参数。

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
np.mean(my_matrix, axis=0)

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

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

比如说。

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

以此类推。

我们也可以用axe=1来找出矩阵中每一行的平均值。

#find mean of each row in matrix
np.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
np.sum(my_matrix, axis=0)

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

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

比如说

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

以此类推。

我们也可以用axe=1来找出矩阵中每一行的总和。

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

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

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

比如说

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

其他资源

下面的教程解释了如何在NumPy中进行其他常见操作。

如何用随机数创建NumPy矩阵
如何将NumPy矩阵归一化
如何在NumPy中向矩阵添加行

The postA Simple Explanation of NumPy Axes (With Examples) appeared first onStatology.