原文链接:Numpy Axes, Explained - Sharp Sight
Numpy Axes,解释
本教程将解释 NumPy 轴。
它将解释什么是 NumPy 轴。本教程还将解释轴的工作原理,以及我们如何将它们与 NumPy 函数一起使用。
尽管您最好阅读完整的教程,但如果您想跳过,可以通过单击以下链接之一来完成:
在详细解释 NumPy 轴之前,让我先解释一下为什么 NumPy 轴有问题。
NUMPY 轴很难理解
我会诚实的。
NumPy 轴是NumPy系统中最难理解的东西之一。如果您刚刚开始使用 NumPy,则尤其如此。许多初学者很难理解 NumPy 轴的工作原理。
别担心,不是你。许多Python 数据科学初学者都在为此苦苦挣扎。
话虽如此,本教程将解释您需要了解的有关 NumPy 数组中轴的所有要点。
让我们从基础开始。我将通过将 NumPy 轴连接到您已经知道的东西来使它们更容易理解。
NUMPY 轴就像坐标系中的轴
如果您正在阅读这篇博文,那么您很可能已经上过不止几门数学课。
回想一下早期的数学,当你第一次学习图表时。
您了解了笛卡尔坐标。NumPy 轴与笛卡尔坐标系中的轴非常相似。
类比:笛卡尔坐标系有轴
您可能还记得这一点,但为了清楚起见,让我们看一下简单的笛卡尔坐标系。
一个简单的二维笛卡尔坐标系有两个轴,x 轴和 y 轴。
这些轴基本上只是笛卡尔空间中的方向(正交方向)。
此外,我们可以通过它在每个轴上的位置来识别笛卡尔空间中一个点的位置。
所以如果我们在 position 有一个点(2, 3)
,我们基本上是说它在 x 轴上有 2 个单位,在 y 轴上有 3 个单位。
如果这一切你都熟悉,很好。您已经了解 NumPy 轴了。
NUMPY 轴是沿行和列的方向
就像坐标系一样,NumPy 数组也有轴。
在二维 NumPy 数组中,轴是沿行和列的方向。
轴 0 是沿行的方向
在 NumPy 数组中,轴 0 是 “第一” 轴。
假设我们谈论的是多维数组,轴 0 是向下运行的轴。
请记住,这确实适用于二维数组和多维数组。一维数组是一种特殊情况,我将在本教程的后面部分进行解释。
轴 1 是沿列的方向
在多维 NumPy 数组中,轴 1 是第二个轴。
当我们谈论二维和多维数组时,轴 1 是水平穿过列的轴。
再一次记住,一维数组的工作方式略有不同。从技术上讲,一维数组没有轴 1。我将在本教程的后面部分对此进行更多解释。
NUMPY 数组轴从 “0” 开始编号
在这一点上可能很明显,但我应该指出 NumPy 中的数组轴是编号的。
重要的是,它们从0开始编号。
这就像 Python 序列的索引值一样。在 Python 序列(如列表和元组)中,序列中的值具有与之关联的索引。
所以,假设我们有一个包含几个大写字母的 Python 列表:
alpha_list = ['A','B','C','D']
如果我们检索第一项(' A
')的索引值......
alpha_list.index('A')
… 我们发现 ' A
' 在索引位置 0。
这里,A
是列表中的第一项,但索引位置为 0。
基本上所有的 Python 序列都是这样工作的。在任何 Python 序列中 —— 比如列表、元组或字符串 —— 索引从 0 开始。
NumPy 轴的编号基本上以相同的方式工作。它们从 0 开始编号。因此 “第一” 轴实际上是 “轴 0”。“第二” 轴是 “轴 1”,依此类推。