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

questionAnswers(14)

yourAnswerToTheQuestion