values num not isnan array python arrays numpy nan gdal

num - replace nan values in array python



Numpy-Reemplazar un nĂºmero con NaN (1)

A[A==NDV]=numpy.nan

A == NDV producirá una matriz booleana que se puede usar como un índice para A

Estoy buscando reemplazar un número con NaN en numpy y estoy buscando una función como numpy.nan_to_num, excepto al revés.

Es probable que el número cambie a medida que se procesan matrices diferentes porque cada una puede tener un NoDataValue definido de forma única. He visto personas que usan diccionarios, pero las matrices son grandes y están llenas de flotadores positivos y negativos. Sospecho que no es eficiente intentar cargar todo esto en algo para crear claves.

Intenté usar el siguiente y el número que requiere que use cualquiera () o todos (). Me doy cuenta de que necesito iterar elemento sabio, pero espero que una función incorporada pueda lograr esto.

def replaceNoData(scanBlock, NDV): for n, i in enumerate(array): if i == NDV: scanBlock[n] = numpy.nan

NDV es el valor sin datos de GDAL y la matriz es una matriz numpy.

¿Es un arreglo enmascarado el camino a seguir?