У меня есть следующий фиктивный массив:
>>> arr
[[0 0 1 0 0 1 0 1 1 1 0 0]
[1 1 0 1 1 0 0 0 0 0 1 1]
[1 1 0 1 0 1 0 0 0 0 1 0]
[1 1 0 1 1 0 1 1 0 0 0 1]
[0 1 0 1 0 1 1 1 0 0 0 1]
[1 0 1 1 1 0 0 1 0 0 1 1]]
У меня также есть некоторые «мутации», которые я хотел бы включить в свой массив в следующих позициях (обратите внимание, что они генерируются случайным образом каждый раз, поэтому я я не могу просто установить их вручную):
row = [0 4 3]
col = [11 10 7]
Я знаю, что могу настроить таргетинг на каждую пару (строку, столбец), используя необычное индексирование с помощью arr[row, col] = -3
(например, установить эти элементы в -3).
Однако, то, что я хочу сделать, это побитовое НЕ - что-то вроде этого:
arr[row, col] = ~arr
Я пытался использовать np.where (), но он не принимает arr[row, col]
b / c не генерирует логический массив.
Есть предложения? Как я могу создать логический массив для использования в качестве условия where
( также да, я знаю, что могу сделать массив всех нулей в той же форме, что и arr, а затем установить эти позиции в 1 и используйте это как маску - я бы хотел что-нибудь чище, хотя бы )
Спасибо!