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

Функция indices

Функция indices создает массив индексов для сетки координат указанной размерности. Она полезна для быстрого создания координатных сеток, которые можно использовать в вычислениях, требующих индексов элементов. Первым параметром функция принимает кортеж с размерами каждой размерности, вторым параметром можно задать тип данных возвращаемых индексов.

Синтаксис

np.indices(dimensions, [dtype])

Пример

Создадим индексы для одномерной сетки из 5 элементов:

import numpy as np res = np.indices((5,)) print(res)

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

[[0 1 2 3 4]]

Пример

Создадим индексы для двумерной сетки размером 2x3:

import numpy as np res = np.indices((2, 3)) print(res)

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

[[[0 0 0] [1 1 1]] [[0 1 2] [0 1 2]]]

Как видно из результата, функция возвращает два массива: первый содержит индексы по первой оси, второй - по второй оси.

Пример

Укажем тип данных для возвращаемых индексов, например, int8:

import numpy as np res = np.indices((2, 2), dtype=np.int8) print(res)

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

[[[0 0] [1 1]] [[0 1] [0 1]]]

Пример

Используем индексы для вычисления значений функции на сетке. Рассчитаем расстояние от центра сетки:

import numpy as np ind = np.indices((3, 3)) rows, cols = ind[0], ind[1] center = (1, 1) distance = np.sqrt((rows - center[0])**2 + (cols - center[1])**2) print(distance)

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

[[0. 1. 2. ] [1. 0. 1. ] [2. 1. 0. ]]

Пример

Создадим индексы для трехмерной сетки размером 2x2x2:

import numpy as np res = np.indices((2, 2, 2)) print("Shape of result:", res.shape) print("First dimension indices:") print(res[0])

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

Shape of result: (3, 2, 2, 2) First dimension indices: [[[0 0] [0 0]] [[1 1] [1 1]]]

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

  • функцию unravel_index,
    которая преобразует плоский индекс в кортеж индексов многомерного массива
  • функцию ravel_multi_index,
    которая преобразует кортеж многомерных индексов в плоский индекс
  • функцию ix_,
    которая создает сетку индексов для векторизованной индексации
  • функцию ndindex,
    которая создает итератор по многомерным индексам массива
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить