在带范围和不带范围的索引上的小反应

时间:2018-08-03 09:34:16

标签: python numpy

arr的形状:(10,4)

import numpy as np
arr = np.random.rand(10,4)
arr[:,3] #shape (10,)

arr[:,3:] #shape (10,1)

第一个形状对我很清楚。但是在第二种情况下,因为3是最后一个索引,所以它的输出应该与第一个相似。为什么不同?

1 个答案:

答案 0 :(得分:0)

[1,2,3][2]3,但[1,2,3][2:][3]的原因相同。您要的是长度为1的切片,而不是单个元素。

想象一下,如果

arr[:, 0:].ndim == 2
arr[:, 1:].ndim == 2
arr[:, 2:].ndim == 2
arr[:, 3:].ndim == 1  # ?!?!