numpy.indices
-
numpy.indices(dimensions, dtype=<class 'int'>, sparse=False)
[source] -
Return an array representing the indices of a grid.
Compute an array where the subarrays contain index values 0, 1, … varying only along the corresponding axis.
- Parameters
-
-
dimensionssequence of ints
-
The shape of the grid.
-
dtypedtype, optional
-
Data type of the result.
-
sparseboolean, optional
-
Return a sparse representation of the grid instead of a dense representation. Default is False.
New in version 1.17.
-
- Returns
-
-
gridone ndarray or tuple of ndarrays
-
- If sparse is False:
-
Returns one array of grid indices,
grid.shape = (len(dimensions),) + tuple(dimensions)
. - If sparse is True:
-
Returns a tuple of arrays, with
grid[i].shape = (1, ..., 1, dimensions[i], 1, ..., 1)
with dimensions[i] in the ith place
-
Notes
The output shape in the dense case is obtained by prepending the number of dimensions in front of the tuple of dimensions, i.e. if
dimensions
is a tuple(r0, ..., rN-1)
of lengthN
, the output shape is(N, r0, ..., rN-1)
.The subarrays
grid[k]
contains the N-D array of indices along thek-th
axis. Explicitly:grid[k, i0, i1, ..., iN-1] = ik
Examples
>>> 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]])
The indices can be used as an index into an array.
>>> x = np.arange(20).reshape(5, 4) >>> row, col = np.indices((2, 3)) >>> x[row, col] array([[0, 1, 2], [4, 5, 6]])
Note that it would be more straightforward in the above example to extract the required elements directly with
x[:2, :3]
.If sparse is set to true, the grid will be returned in a sparse representation.
>>> 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]])
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.indices.html