Функция Pandas dataframe.interpolate () в основном используется для заполнения значений NA в кадре данных или серии
import pandas as pd
import numpy as np
arr = [ 1, np.NaN, np.NaN, 7, np.NaN, 27]
//converting array in series
print(pd.Series(arr).interpolate(method = 'linear', limit_direction = 'forward'))
Параметры
method = 'linear' : игнорировать индекс и рассматривать значения как одинаковые интервалы.
limit_direction: {'forward', 'backward', 'both'}, по умолчанию 'forward' Если указан предел, последовательные NaNбудет заполнено в этом направлении.
limit: int, необязательно Максимальное количество последовательных NaN для заполнения. Должно быть больше 0.
print(pd.Series(arr).interpolate(method = 'linear', limit_direction = 'forward', limit = 1))
#5 won't get printed
print(pd.Series(arr).interpolate(method = 'linear', limit_direction = 'backward', limit = 1))
#3 won't get printed
Вы можете попробовать различные варианты в зависимости от ваших требований.