Данные временного ряда в df с равными интервалами - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть DataFrame с данными временного ряда:

Date                Value
2019-02-10 00:00:00 9661
2019-02-10 00:00:19 9654
2019-02-10 00:45:20 9659
2019-02-10 01:01:20 9649
2019-02-10 01:30:18 9712

Существует ли простой способ преобразования данных в равные интервалы?(каждые 15 минут, если быть точным)

каждый шаг по времени будет получать среднее значение в пределах шага

1 Ответ

0 голосов
/ 13 февраля 2019

Я думаю, вам нужно resample с mean:

print (df.index)
DatetimeIndex(['2019-02-10 00:00:00', '2019-02-10 00:00:19',
               '2019-02-10 00:45:20', '2019-02-10 01:01:20',
               '2019-02-10 01:30:18'],
              dtype='datetime64[ns]', name='Date', freq=None)

df = df.resample('15Min').mean()
print (df)
                      Value
Date                       
2019-02-10 00:00:00  9657.5
2019-02-10 00:15:00     NaN
2019-02-10 00:30:00     NaN
2019-02-10 00:45:00  9659.0
2019-02-10 01:00:00  9649.0
2019-02-10 01:15:00     NaN
2019-02-10 01:30:00  9712.0

Для пропущенных интервалов получите значения misisng, поэтому при необходимости удалите их, используя dropna:

df = df.resample('15Min').mean().dropna(how='all')
print (df)
                      Value
Date                       
2019-02-10 00:00:00  9657.5
2019-02-10 00:45:00  9659.0
2019-02-10 01:00:00  9649.0
2019-02-10 01:30:00  9712.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...