python - Numpy 数组 View 语法

标签 python arrays numpy

我想我了解 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/

相关文章:

python - 在 Python 中, "class name(object):"和 "class name():"有什么区别

python - while 和 for 循环包含数学、列表、偶数、奇数、平方

arrays - 如何在查询嵌套对象/数组时使用 "wildcard"或 "regexp"

python - 使用 cmd 和 Python 在 Cytoscape 中打开网络文件

python - pandas(水平)堆叠条形,每个条形段排序

javascript - Javascript 中的一维数组到二维数组

c# - 在没有序列化的情况下深度复制数组c#

python - 执行数学 sigma 和的最快、最有效和 pythonic 方法是什么?

python - numpy.genfromtxt 似乎忽略了 dtype

python - 提取给定数组中的公共(public)元素以生成新数组