推荐阅读这篇前先阅读该篇文章​​numpy数组的坐标轴问题​​。接下来我们讨论讨论关于一个二维数组中参数的正确理解。先来看一段代码:

import numpy as np

x = np.array([[1, 3],
[5, 6],
[8, 10]])

print(x[0, 0])
print(x[0, 1])
"""
1
3
"""

我们可以看到输出结果分别为​​1​​​,​​3​​​。我不知道有没有人像我以前一样的理解,​​x​​​轴是横向,​​y​​​轴是纵向,于是​​x[0, 0]​​​对应第一个位置点处的值,这没有歧义,但是​​x[0, 1]​​​则对应第​​0​​​行第​​1​​​列处点的值,因此对应值​​3​​​。好像这样的理解很符合我们平时的数学空间上的定义,然而在​​python​​中使用这种理解方式是十分危险的,当出现三维情况时就会出现混乱和错误,这里不详细举例,可以自行尝试。

那么正确的理解方式应该是怎样的呢?根据开头推荐阅读的文章,我们知道​​x[0, 1]​​​实际代表​​x=1​​​, ​​y=0​​​。推荐阅读这篇​​meshgrid函数中的indexing参数问题​​​,我们通过阅读该篇可以知道​​x​​​轴确实沿着横向,​​y​​​轴沿着纵向。因此我们应该理解为我们选取的是沿着​​x​​​轴的第二个元素,沿着​​y​​​轴的第一个元素,这样我们便可以得到正确的结果​​3​​。采用这种方法当我们推广到三维的情况时就不会出现理解上的歧义了。

如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~