我想我了解 numpy 数组 View 的基础知识(它不复制数据,我们基本上指的是与数组相同的数据缓冲区,但具有不同的偏移量等)。然而我对语法感到困惑。
我所理解的是,如果我要运行这个:
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 上的数组 View 但这并没有真正帮助我。
最佳答案
::10
语法意味着对整个范围进行采样,每十个元素返回一次。所以如果你想返回 1/100 的数据(即每 10 行,每 10 列),你会这样做:
b = a[::10, ::10]
a[::10]
如果我没记错的话,只是 a[::10,::]
的简写。
关于python - Numpy 数组 View 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28131552/