从索引到结尾获取数组元素

时间:2012-12-05 20:40:30

标签: python vector numpy indexing

假设我们有以下数组:

import numpy as np
a = np.arange(1, 10)
a = a.reshape(len(a), 1)
array([[1],
       [2],
       [3],
       [4],
       [5],
       [6],
       [7],
       [8],
       [9]])

现在,我想访问从索引4到结尾的元素:

a[3:-1]
array([[4],
       [5],
       [6],
       [7],
       [8]])

当我这样做时,结果向量缺少最后一个元素,现在有五个元素而不是六个,为什么会发生,我怎样才能获得最后一个元素而不附加它?

预期产出:

array([[4],
       [5],
       [6],
       [7],
       [8],
       [9]])

提前致谢

1 个答案:

答案 0 :(得分:30)

[:-1]删除最后一个元素。而不是

a[3:-1]

a[3:]

您可以在此处阅读Python切片表示法:Explain Python's slice notation

NumPy切片是其中的一个扩展。 NumPy教程有一些内容:Indexing, Slicing and Iterating