Previous topic

numpy.ma.ediff1d

Next topic

numpy.ma.where

This is documentation for an old release of NumPy (version 1.14). Read this page in the documentation of the latest stable release (version 2.2).

numpy.ma.indices

numpy.ma.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).

See also

mgrid, meshgrid

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, ..., rN-1) of length N, the output shape is (N,r0,...,rN-1).

The subarrays grid[k] contains the N-D array of indices along the k-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].