data = np.random.random(10)
data[:2] = np.nan
data[-1] = np.nan
data[4:6] = np.nan
print(data)
mask = np.isnan(data)
data[mask] = np.interp(np.flatnonzero(mask), np.flatnonzero(~mask), data[~mask]
    )
print(data)
Замените NaN в массиве NumPy ближайшим значением, отличным от NaN