numpy . 索引#
- 麻木的。索引(维度, dtype=<class 'int'> ,稀疏=False ) [来源] #
返回一个表示网格索引的数组。
计算一个数组,其中子数组包含仅沿相应轴变化的索引值 0、1、...。
- 参数:
- 整数的维度序列
网格的形状。
- 数据类型数据类型,可选
结果的数据类型。
- 稀疏布尔值,可选
返回网格的稀疏表示而不是密集表示。默认值为 False。
1.17 版本中的新增功能。
- 返回:
- 对一个 ndarray 或 ndarray 元组进行网格化
- 如果稀疏为 False:
返回一组网格索引, 。
grid.shape = (len(dimensions),) + tuple(dimensions)
- 如果稀疏为 True:
返回一个数组元组,其中 dimensions[i]位于第i个位置
grid[i].shape = (1, ..., 1, dimensions[i], 1, ..., 1)
笔记
密集情况下的输出形状是通过在维度元组前面添加维度数来获得的,即如果维度是长度为 的 元组,则输出形状为 。
(r0, ..., rN-1)
N
(N, r0, ..., rN-1)
子数组
grid[k]
包含沿轴索引的 ND 数组k-th
。明确地: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]
如果稀疏设置为 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]])