Это трудно описать словами, но легко увидеть на практике.У меня есть 2D-массив:
im = np.array([[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]])
Я интерпретирую его как изображение в градациях серого 4x4, поэтому значения в массиве просто интенсивности.Итак, для начала, im
это:
[[0,0,0,0],
[0,0,0,0],
[0,0,0,0],
[0,0,0,0]]
Я хочу иметь возможность изменять много значений в «изображении» одновременно в соответствии с массивом значений x и массивом значений y.Я собираю их так, чтобы они выглядели как упорядоченные пары во втором массиве следующим образом:
x = [0,1]
y = [2,3]
coords = np.array([x,y]).T
Теперь coords
выглядит так:
array([[0, 2],
[1, 3]])
Наконец, я хочу проиндексировать im по координатам,Я подумал, что, возможно, это было что-то вроде этого:
im[coords] = 9
... но это не работает.Я бы хотел, чтобы конечный результат im был:
[[0,0,9,0],
[0,0,0,9],
[0,0,0,0],
[0,0,0,0]]
Кто-нибудь знает быстрый и элегантный способ сделать это?
Спасибо!