РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
83 of 541 menu

Функция unravel_index

Функция unravel_index преобразует одномерные (плоские) индексы в кортеж многомерных индексов для массива указанной формы. Первым параметром функция принимает плоский индекс или массив индексов, вторым - форму массива в виде кортежа. Возвращается кортеж массивов, соответствующих индексам по каждой оси.

Синтаксис

np.unravel_index(indices, shape)

Пример

Преобразуем плоский индекс 5 в двумерные индексы для массива формы 2 на 4:

import numpy as np res = np.unravel_index(5, (2, 4)) print(res)

Результат выполнения кода:

(1, 1)

Пример

Преобразуем массив плоских индексов в двумерные индексы для формы 3 на 3:

import numpy as np indices = np.array([0, 4, 8]) res = np.unravel_index(indices, (3, 3)) print(res)

Результат выполнения кода:

(array([0, 1, 2]), array([0, 1, 2]))

Пример

Найдем многомерные индексы максимального элемента в двумерном массиве:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) flat_idx = np.argmax(arr) res = np.unravel_index(flat_idx, arr.shape) print(res) print(arr[res])

Результат выполнения кода:

(1, 2) 6

Пример

Преобразуем плоские индексы в трехмерные для формы 2 на 2 на 3:

import numpy as np indices = np.array([0, 5, 7, 11]) res = np.unravel_index(indices, (2, 2, 3)) print(res)

Результат выполнения кода:

(array([0, 0, 1, 1]), array([0, 1, 0, 1]), array([0, 2, 1, 2]))

Смотрите также

  • функцию ravel_multi_index,
    которая преобразует многомерные индексы в плоские
  • функцию nonzero,
    которая возвращает индексы ненулевых элементов
  • функцию where,
    которая возвращает индексы элементов, удовлетворяющих условию
  • функцию indices,
    которая создает массив индексов для заданной формы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить