import numpy as np
x = np.array([[1, 1, 2, 0, 4], [5, 6, 7, 8, 9], [10, 0, 0, 13, 14], [15, 16,
    17, 18, 19], [20, 21, 22, 0, 24], [25, 26, 27, 28, 29], [30, 31, 32, 33,
    34], [35, 36, 37, 38, 39], [40, 41, 42, 43, 44], [45, 46, 47, 48, 49]])
y = np.array([[0, 0, 0, 0], [0, 0, 0, 0], [0, 2891, 0, 0], [0, 0, 0, 0], [0,
    0, 0, 2891]])
z = np.array([[0, 0, 0, 643], [0, 0, 0, 0], [0, 0, 643, 0], [0, 0, 0, 0], [
    0, 0, 0, 0]])
x[y.nonzero()] = y[y.nonzero()]
x[z.nonzero()] = z[z.nonzero()]
print(x)
Замена массива Python numpy