Быстрая замена на месте некоторых значений в массиве numpy

Должен быть более быстрый способ сделать замену ценностей, не так ли? У меня есть 2D-массив, представляющий сетку высот/батиметрии. Я хочу заменить что-либо более 0 на NAN, и этот способ очень медленный:

for x in range(elevation.shape[0]):
    for y in range(elevation.shape[1]):
        if elevation[x,y] > 0:
            elevation[x,y] = numpy.NAN

Кажется, что это было бы намного лучше!

Ответы

Ответ 2

np.putmask(elevation, elevation > 0, np.nan)