python - ndarray - Reemplazo rápido en el lugar de algunos valores en una matriz numpy
numpy sort min to max (2)
Lo siguiente lo haremos:
elevation[elevation > 0] = numpy.NAN
Ver la indexación con matrices booleanas en el tutorial NumPy.
Tiene que haber una manera más rápida de reemplazar los valores, ¿no? Tengo una matriz 2D que representa una cuadrícula de elevaciones / batimetría. Quiero reemplazar cualquier cosa por encima de 0 con NAN y de esta manera es muy lento:
for x in range(elevation.shape[0]):
for y in range(elevation.shape[1]):
if elevation[x,y] > 0:
elevation[x,y] = numpy.NAN
¡Parece que así ha sido una manera mucho mejor!
np.putmask(elevation, elevation > 0, np.nan)