sort ndarray descending column array argsort python performance numpy

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)