Numpy数组视图语法

时间:2015-01-24 23:39:39

标签: python arrays numpy

我想我理解numpy数组视图的基础知识(它不会复制数据,我们基本上指的是与数组相同的数据缓冲区,但具有不同的偏移量等)。然而,我对语法感到困惑。

我明白的是,如果我要这样做:

import numpy as np
a = np.random.random_sample((100,100))
b = a[:10, :10]

然后b将是a的前10行和前10列。

我不明白a[::10]的作用。有人可以解释一下吗?

另外 - 在处理numpy数组时,我还应该知道其他类似的事情吗?

我查看了http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.view.html上的数组视图,但它并没有真正帮助我。

1 个答案:

答案 0 :(得分:2)

::10语法表示对每十个元素返回的整个范围进行采样。因此,如果您想返回1/100的数据(即每10行,每10列),您可以这样做:

b = a[::10, ::10]
如果我记得,

a[::10]只是a[::10, ::]的简写。