了解numpy数组切片的问题

时间:2019-05-20 15:24:57

标签: python arrays numpy matrix-indexing

切片Numpy数组时,对我来说看起来不一致。

In[87]: y
Out[87]: 
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

In[88]: y[0,0]
Out[88]: 1

y[0,0]1。可以,但是当我输入

In[89]: y[0,0:1]
Out[89]: array([1])

为什么切片[0,0:1]是单个值数组[1]?我本来希望array[1,4]在我键入时出现

In[90]: y[0,0:2]
Out[90]: array([1,4])

我更希望array[1,4,7]y[0,2]7

顺便说一句,如果重要的话,我正在使用Anaconda 2019发行版。

In[91]: import sys
   ...: print(sys.version)
3.7.3 (default, Mar 27 2019, 17:13:21) [MSC v.1915 64 bit (AMD64)]

有人知道切片索引为何如此混乱吗? 谢谢

1 个答案:

答案 0 :(得分:0)

Numpy使用与Python相同的切片符号,即[start:stop:step]

按照惯例,索引stop的值将从结果序列中排除。

您可以在this tutorial的第3段中找到更多信息。

  

切片从'from'索引开始延伸,并在'to'索引之前结束一个项目。