【发布时间】:2020-06-08 15:35:55
【问题描述】:
我将一个数组初始化为 a=numpy.array([1,2,3])。 在运行语句 print(a[0,:]) 时,它显示一个错误。这种切片方法只适用于二维数组吗?
【问题讨论】:
-
你有2个索引,你只需要一个,
-
为什么你的索引中有逗号?你明白它的作用吗?
-
上面的打印语句应该打印整个(第一)行......这个语句在二维数组中工作正常并打印第一行,但在一维数组中它给出了错误,有人可以解释一下
-
@AdnanZahid 正如我的回答中提到的,您的数组是形状 (3.),为了以您提到的方式寻址数组,您需要向量至少是二维的。因此,在您的情况下,最简单的方法是通过添加长度为 1 的新轴来制作二维数组。现在的问题是:
a是否应该是列向量,在这种情况下,第一行将只包含数字1。然后你需要a = a[:, np.newaxis],而不是我的答案,或者a是一个行向量,那么第一行是完整的数组[1, 2, 3]在这种情况下,我给出的答案就是你需要的答案 -
AFAIK using
a[0:]只是从第 0 个元素开始访问a的所有元素,因此它没有任何意义,因为它与仅使用a完全一样,没有任何索引。例如,如果你使用print(a[1:]),你应该得到[2, 3]作为结果