У меня есть массив с нулями, ненулевыми значениями и формой (10,10).К части этого массива мне нужно добавить определенное значение, где начальное значение не равно нулю.
a[2:7,2:7] += 0.5 #But with a condition that a[a!=0]
В настоящее время я делаю это довольно громоздким способом, сначала сделав копию массива ипоследовательно изменяя второй массив, а затем копируя обратно в первый.
b = a.copy()
b[b!=0] = 1
b[2:7,2:7] *= 0.5
b[b ==1] =0
a += b
Есть ли более элегантный способ добиться этого?