У меня есть массив NumPy a
, как показано ниже:
>>> 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]'
Я хочу заменить каждое NaN самым близким значением, отличным от NaN, так что все NaN в начале получат значение 1.449...
, и все NaN в конце получают значение 1.419...
.
Я могу увидеть, как это сделать для конкретных случаев, подобных этому, но мне нужно иметь возможность делать это в целом для любой длины массива с любой длиной NaN в начале и в конце массива (не будет NaN в середине чисел). Любые идеи?
Я могу найти NaN достаточно легко с помощью np.isnan()
, но я не могу понять, как получить самое близкое значение для каждого NaN.