numpy.ravel_multi_index#

numpy.ravel_multi_index(multi_index, dims, mode='raise', order='C')#

將索引陣列的元組轉換為扁平索引陣列,並將邊界模式應用於多重索引。

參數:
multi_indexarray_like 元組

整數陣列的元組,每個維度一個陣列。

dims整數元組

multi_index 套用索引的陣列形狀。

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

指定如何處理超出邊界的索引。可以指定一個模式或模式元組,每個索引一個模式。

  • ‘raise’ – 引發錯誤 (預設)

  • ‘wrap’ – 環繞

  • ‘clip’ – 裁剪到範圍

在 ‘clip’ 模式下,通常會環繞的負索引將裁剪為 0。

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

決定多重索引應視為以 row-major (C-style) 或 column-major (Fortran-style) 順序索引。

返回:
raveled_indicesndarray

尺寸為 dims 的陣列扁平化版本的索引陣列。

參見

unravel_index

範例

>>> 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