numpy.indices¶

numpy.
indices
(dimensions, dtype=<class 'int'>)[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:  dimensions : sequence of ints
The shape of the grid.
 dtype : dtype, optional
Data type of the result.
Returns:  grid : ndarray
The array of grid indices,
grid.shape = (len(dimensions),) + tuple(dimensions)
.
Notes
The output shape is obtained by prepending the number of dimensions in front of the tuple of dimensions, i.e. if dimensions is a tuple
(r0, ..., rN1)
of lengthN
, the output shape is(N,r0,...,rN1)
.The subarrays
grid[k]
contains the ND array of indices along thekth
axis. Explicitly:grid[k,i0,i1,...,iN1] = 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]
.