numpy数组参数的正确理解

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

import numpy as np

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

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

我们可以看到输出结果分别为13。我不知道有没有人像我以前一样的理解,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。采用这种方法当我们推广到三维的情况时就不会出现理解上的歧义了。

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勤奋的大熊猫

你的鼓励将是我写作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值