Как создать новые записи времени в фрейме данных pandas с помощью линейной интерполяции

#python #pandas

Вопрос:

У меня есть фрейм данных Pandas с часовым разрешением, как вы можете видеть на скриншотевведите описание изображения здесь

Поэтому у меня есть значение температуры для каждого часа дня. Теперь я хотел бы увеличить временное разрешение и иметь записи каждые 15 минут (00:00, 00:15, 00:30, 00:45, 01:00, 01:15 и т.д.). И для каждой из новых записей значения температур должны быть линейно интерполированы.

Можете ли вы сказать мне, как я могу это сделать с помощью панд? Я был бы признателен за каждый комментарий.

Комментарии:

1. Не могли бы вы объяснить, как вычисляются / выбираются значения температур для промежуточных 15-минутных отметок? Вы просто берете (температура строки 2 — температура строки 1) / 4 и просто добавляете это в строку 1, чтобы получить промежуточные температуры до строки 2?

Ответ №1:

IIUC, вот один из способов:

 df['Time (UTC)'] = pd.to_datetime(df['Time (UTC)'], format = '%d.%m.%Y %H:%M')
df1 = df.set_index('Time (UTC)').asfreq('15T')
df1.Temperature = df1.Temperature.interpolate()