numpy.ravel_multi_index
-
numpy.ravel_multi_index(multi_index, dims, mode='raise', order='C') -
Преобразует кортеж массивов индексов в массив плоских индексов, применяя режимы граничных значений к многомерному индексу.
Параметры: multi_index : кортеж array_like
Кортеж целочисленных массивов, по одному массиву для каждой размерности.
dims : кортеж целых чисел
Форма массива, в который применяются индексы из
multi_index.mode : {‘raise’, ‘wrap’, ‘clip’}, необязательно
Определяет, как обрабатываются индексы за пределами границ. Можно указать один режим или кортеж режимов, по одному режиму для каждого индекса.
- ‘raise’ – генерировать ошибку (по умолчанию)
- ‘wrap’ – циклический перенос
- ‘clip’ – ограничение до диапазона
В режиме «clip» отрицательный индекс, который обычно бы циклически переносился, будет ограничен значением 0.
order : {‘C’, ‘F’}, необязательно
Определяет, как многомерный индекс должен рассматриваться как индексация в строчно-главном (C-стиле) или столбце-главном (Fortran-стиле) порядке.
Возвращает: raveled_indices : ndarray
Массив индексов в сплющенной версии массива размерности
dims.См. также
Примечания
Введено в версии 1.6.0.
Примеры
>>> 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
© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.ravel_multi_index.html