当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy indices用法及代码示例


本文简要介绍 python 语言中 numpy.indices 的用法。

用法:

numpy.indices(dimensions, dtype=<class 'int'>, sparse=False)

返回一个表示网格索引的数组。

计算一个数组,其中子数组包含索引值 0, 1, ... 仅沿相应轴变化。

参数

dimensions 整数序列

网格的形状。

dtype dtype,可选

结果的数据类型。

sparse 布尔值,可选

返回网格的稀疏表示而不是密集表示。默认为假。

返回

grid 一个 ndarray 或 ndarrays 元组
如果稀疏为假:

返回一个网格索引数组,grid.shape = (len(dimensions),) + tuple(dimensions).

如果稀疏为真:

返回一个数组元组,其中grid[i].shape = (1, ..., 1, dimensions[i], 1, ..., 1)在第 i 个位置具有维度 [i]

注意

密集情况下的输出形状是通过在维度元组前面添加维度数来获得的,即如果方面是一个元组(r0, ..., rN-1)长度N,输出形状为(N, r0, ..., rN-1).

子数组grid[k] 包含沿k-th 轴的N-D 索引数组。明确地:

grid[k, i0, i1, ..., iN-1] = ik

例子

>>> grid = np.indices((2, 3))
>>> grid.shape
(2, 2, 3)
>>> grid[0]        # row indices
array([[0, 0, 0],
       [1, 1, 1]])
>>> grid[1]        # column indices
array([[0, 1, 2],
       [0, 1, 2]])

索引可以用作数组的索引。

>>> x = np.arange(20).reshape(5, 4)
>>> row, col = np.indices((2, 3))
>>> x[row, col]
array([[0, 1, 2],
       [4, 5, 6]])

请注意,在上面的示例中,使用 x[:2, :3] 直接提取所需元素会更直接。

如果 sparse 设置为 true,则网格将以稀疏表示形式返回。

>>> i, j = np.indices((2, 3), sparse=True)
>>> i.shape
(2, 1)
>>> j.shape
(1, 3)
>>> i        # row indices
array([[0],
       [1]])
>>> j        # column indices
array([[0, 1, 2]])

相关用法


注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.indices。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。