Numpy «Поместить объект» в массив - PullRequest
0 голосов
/ 20 июня 2020

У меня есть программа, в которой я пытаюсь сгенерировать выходные данные на основе нескольких операций ввода-вывода - например, этих двух IOs. эти два входа выхода

Программа распознает объекты в сетках и представляет сетки как numpy массивы. Есть ли встроенная функция numpy или элегантное решение для «вставки» объекта в массив numpy?

Пример: если он распознает квадратный объект, например [[1, 1], [1, 1]], и у меня есть сетка [[0, 0, 0], [0, 0, 0], [0, 0, 0]], как я могу вставить объект в сетку, чтобы он стал [[0, 1, 1], [0, 1, 1], [0, 0, 0]] (но для любого объекта, вставленного по любому индексу)?

1 Ответ

0 голосов
/ 21 июня 2020

Нет другого способа, кроме как знать индексы, по которым можно изменить значение вашего двумерного numpy массива.

Итак, если ваша сетка представляет собой двумерный массив нулей, например:

grid = np.zeros((10, 10))

Затем вы можете использовать кортеж кортежей индексов (x, y), каждая из которых идентифицирует ячейку вашей сетки, в которой вы хотите изменить значение сетки:

indices = ((x1, y1), (x2, y2), ..., (xn, yn))

, тогда вы можете использовать это для назначения значений в вашем двумерном массиве numpy следующим образом:

grid[indices] = 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...