import numpy as np
a = np.array([[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]])
m = np.array([7, 6, 5, 4])
np.putmask(a, a >= m, m - 1)
np.array([[0, 1, 2, 3], [4, 5, 4, 3], [6, 5, 4, 3]])
Замена значений, превышающих предел в массиве numpy