我有两个值,并且知道它们在一个充满NaN的数组中的索引.我想插值/外推所有nan的
import numpy as np
y = np.array([np.nan, np.nan, 0.75, np.nan, np.nan, np.nan, np.nan, np.nan, 2.25])
借助这answer条,我写下以下内容:
nans, x = np.isnan(y), lambda z: z.nonzero()[0]
y[nans] = np.interp(x(nans), x(~nans), y[~nans])
我的输出如下:
[0.75 0.75 0.75 1. 1.25 1.5 1.75 2. 2.25]
然而,我希望它是:
[0.25 0.5 0.75 1. 1.25 1.5 1.75 2. 2.25]
增量始终是一个常数.
如何指定left
和right
以获得所需的输出?