Предполагая, что временные метки являются индексом информационного кадра. Вместо того чтобы удалять его с помощью df = df[df[col to filter] > some filter]
, просто инвертируйте фильтр (чтобы выбрать строки, которые вы делаете не хотите сохранить), и установите для отфильтрованных строк значение NaN:
import numpy as np
df[df[col to filter] < some filter] = np.nan
Это сохраняет индекс и делает строку применимой для интерполяции. После этого вы можете использовать метод интерполяции, например, такой:
df.interpolate(method='linear', limit_direction='forward', axis=0)