numpy.ravel_multi_index
-
numpy.ravel_multi_index(multi_index, dims, mode='raise', order='C')
-
Converts a tuple of index arrays into an array of flat indices, applying boundary modes to the multi-index.
- Parameters
-
-
multi_indextuple of array_like
-
A tuple of integer arrays, one array for each dimension.
-
dimstuple of ints
-
The shape of array into which the indices from
multi_index
apply. -
mode{‘raise’, ‘wrap’, ‘clip’}, optional
-
Specifies how out-of-bounds indices are handled. Can specify either one mode or a tuple of modes, one mode per index.
- ‘raise’ – raise an error (default)
- ‘wrap’ – wrap around
- ‘clip’ – clip to the range
In ‘clip’ mode, a negative index which would normally wrap will clip to 0 instead.
-
order{‘C’, ‘F’}, optional
-
Determines whether the multi-index should be viewed as indexing in row-major (C-style) or column-major (Fortran-style) order.
-
- Returns
-
-
raveled_indicesndarray
-
An array of indices into the flattened version of an array of dimensions
dims
.
-
See also
Notes
New in version 1.6.0.
Examples
>>> arr = np.array([[3,6,6],[4,5,1]]) >>> np.ravel_multi_index(arr, (7,6)) array([22, 41, 37]) >>> np.ravel_multi_index(arr, (7,6), order='F') array([31, 41, 13]) >>> np.ravel_multi_index(arr, (4,6), mode='clip') array([22, 23, 19]) >>> np.ravel_multi_index(arr, (4,4), mode=('clip','wrap')) array([12, 13, 13])
>>> np.ravel_multi_index((3,1,4,1), (6,7,8,9)) 1621
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.ravel_multi_index.html