Ответ 1
Это сделает следующее:
elevation[elevation > 0] = numpy.NAN
См. Индексирование с булевыми массивами в учебнике 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
Кажется, что это было бы намного лучше!
Это сделает следующее:
elevation[elevation > 0] = numpy.NAN
См. Индексирование с булевыми массивами в учебнике NumPy.
np.putmask(elevation, elevation > 0, np.nan)