Numpy 数组视图语法

Numpy array views syntax

我想我了解 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 上的数组视图,但它并没有真正帮助我。

::10 语法表示每十个元素对整个范围 return 进行采样。所以如果你想 return 1/100 的数据(即每 10 行,每 10 列),你会做:

b = a[::10, ::10]

a[::10] 如果我记得的话 a[::10, ::] 就是 shorthand。