У меня есть временной ряд, где каждое наблюдение представляет собой общее количество чего-либо со времени последнего наблюдения. Если в этом временном шаге нет наблюдения, тогда значение сообщается как NaN. Пример формата:
Timestep Value
1 10
2 NaN
3 NaN
4 9
5 NaN
6 NaN
7 NaN
8 16
9 NaN
10 NaN
Что я хотел бы сделать, так это распределить наблюдаемые значения по NaN перед этим. Например, последовательность типа [5, NaN, NaN, 6] станет [5, 2, 2, 2] с последним наблюдением 6, распределенным по последним 2 значениям NaN. Применительно к кадру данных выше желаемый результат будет:
Timestep Value
1 10
2 3
3 3
4 3
5 4
6 4
7 4
8 4
9 NaN
10 NaN
Я пытался сделать это с некоторыми методами обратной засыпки и интерполяции панд, но не нашел ничего, что вполне соответствует тому, что я хочу.