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 flatindices, 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 frommulti_index apply.

mode{‘raise’, ‘wrap’, ‘clip’}, optional

Specifies how out-of-bounds indices are handled. Can specifyeither 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 normallywrap will clip to 0 instead.

order{‘C’, ‘F’}, optional

Determines whether the multi-index should be viewed asindexing in row-major (C-style) or column-major(Fortran-style) order.

Returns:
raveled_indicesndarray

An array of indices into the flattened version of an arrayof dimensionsdims.

Examples

>>>importnumpyasnp>>>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
On this page