Substitua NaN na matriz NumPy pelo valor não-NaN mais próximo
Tenho uma matriz NumPya
como o seguinte:
>>> 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]'
Eu quero substituir cada NaN pelo valor não-NaN mais próximo, para que todos os NaNs no início sejam definidos como1.449...
e todos os NaNs no final são configurados para1.419...
.
Eu posso ver como fazer isso em casos específicos como este, mas preciso ser capaz de fazê-lo geralmente para qualquer comprimento de matriz, com qualquer comprimento de NaN no início e no final da matriz (não haverá NaN em o meio dos números). Alguma ideia
Eu posso encontrar os NaN com bastante facilidade comnp.isnan()
, mas não consigo descobrir como obter o valor mais próximo de cada Na