Replace NaN's en la matriz NumPy con el valor más cercano que no sea NaN
Tengo una matriz NumPya
gusta lo siguiente:
>>> str(a)
'[ nan nan nan 1.44955726 1.44628034 1.44409573\n 1.4408188 1.43657094 1.43171624 1.42649744 1.42200684 1.42117704\n 1.42040255 1.41922908 nan nan nan nan\n nan nan]'
Quiero reemplazar cada NaN con el valor más cercano que no sea NaN, para que todos los NaN al principio se establezcan en1.449...
y todos los NaN al final se configuran en1.419...
.
Puedo ver cómo hacer esto para casos específicos como este, pero necesito poder hacerlo generalmente para cualquier longitud de matriz, con cualquier longitud de NaN al principio y al final de la matriz (no habrá NaN en el medio de los números). ¿Algunas ideas
Puedo encontrar los NaN con bastante facilidad connp.isnan()
, pero no puedo entender cómo obtener el valor más cercano a cada NaN.