dask.array.ravel_multi_index

dask.array.ravel_multi_index

dask.array.ravel_multi_index(multi_index, dims, mode='raise', order='C')

将索引数组的元组转换为扁平索引数组,对多索引应用边界模式。

参数
多索引数组类元组

一个整数数组的元组,每个维度对应一个数组。

维度整数元组

multi_index 中的索引所应用的数组的形状。

模式{‘raise’, ‘wrap’, ‘clip’}, 可选

指定如何处理越界索引。可以指定一种模式或一个模式的元组,每个索引对应一种模式。

  • ‘raise’ – 引发错误(默认)

  • ‘wrap’ – 环绕

  • ‘clip’ – 裁剪到范围

在 ‘clip’ 模式下,通常会回绕的负索引将改为裁剪到 0。

顺序{‘C’, ‘F’}, 可选

确定多索引是否应按行优先(C 风格)或列优先(Fortran 风格)顺序进行索引。

返回
raveled_indicesndarray

一个索引数组,指向维度为 dims 的数组的扁平化版本。

参见

unravel_index

注释

1.6.0 新版功能.

示例

>>> import numpy as np
>>> 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