Предполагая, что ваш массив называется L
, вы можете сделать что-то вроде
M = x/L
M[np.isinf(M)] = 0
Дополнительное время, необходимое для обнуления плохих элементов, ничтожно, даже когда число бесконечностей велико:
In [20]: L = np.random.randint(0, 2, 100000)
In [21]: %timeit [0 if l == 0 else 10/l for l in L]
34.9 ms ± 2.03 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
In [23]: %timeit M = 10/L
263 µs ± 11.8 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
In [24]: %timeit M[np.isinf(M)] = 0
983 ns ± 40.5 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)