Заполнение недостающих данных во временных рядах путем создания среднего временного ряда - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть почасовые данные в пандах около 10 лет. Иногда данные отсутствуют за 2-3 месяца. Я хочу заполнить пропущенные периоды. Процесс, о котором я подумал, заключается в следующем.

  1. Создать один год почасовых временных рядов из доступных данных, которые рассчитывается по средним значениям для каждого дня и часа.
  2. Заполните пропущенные значения из этого среднего временного ряда.
  3. Например, если 2009/01/28 13:00 отсутствует, он найдет 01/28 13:00 из временных рядов, рассчитанных на первом шаге, и заполнит его.

Я много пытался искать, но не смог выполнить эту задачу.

Любая помощь будет оценена.

Edit: Это моя попытка до сих пор. Я все еще проверяю это. Хотя это занимает много времени.

for count in dfaverage.index:
    currentday = count.day
    currentmonth = count.month
    currenthour = count.hour
    match_timestamp=('{:02}').format(currentmonth) + '-' + ('{:02}').format(currentday) + ' ' + ('{:02}').format(currenthour)
    #print(match_timestamp)
    value = df.loc[df.index.strftime('%m-%d %H') == match_timestamp].mean()
    dfaverage.loc[count]['value'] = value

for count in df.index:
    if math.isnan(df.loc[count]):
    currentday = count.day
    currentmonth = count.month
    currenthour = count.hour    
    match_timestamp=('{:02}').format(currentmonth) + '-' + ('{:02}').format(currentday) + ' ' + ('{:02}').format(currenthour)
    value = dfaverage.loc[dfaverage.index.strftime('%m-%d %H') == match_timestamp].mean()
    df.at[count, 'AtmPressurekPa'] = value

Теперь я хочу перебрать каждый элемент этого пустого набора данных, найти соответствующие значения дня, месяца и часа из основного кадра данных (df), усреднить его и назначить этому временному ряду.

Позже я буду использовать временные ряды dfaverage, чтобы заполнить пропущенные значения в временных рядах df.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...