Как обработать конец временных рядов в повторной выборке панд при повышении частоты дискретизации? - PullRequest
0 голосов
/ 10 октября 2018

Я хочу пересчитать от часа до получаса.Я использую .ffill() в примере, но я также протестировал .asfreq() в качестве промежуточного шага.

Цель состоит в том, чтобы получить интервалы в полчаса, в которых почасовые значения распределены между интервалами повышенной дискретизации, иЯ пытаюсь найти общее решение для любых диапазонов с той же проблемой.

import pandas as pd

index = pd.date_range('2018-10-10 00:00', '2018-10-10 02:00', freq='H')
hourly = pd.Series(range(10, len(index)+10), index=index)
half_hourly = hourly.resample('30min').ffill() / 2

Серия hourly выглядит следующим образом:

2018-10-10 00:00:00    10
2018-10-10 01:00:00    11
2018-10-10 02:00:00    12
Freq: H, dtype: int64

И half_hourly:

2018-10-10 00:00:00    5.0
2018-10-10 00:30:00    5.0
2018-10-10 01:00:00    5.5
2018-10-10 01:30:00    5.5
2018-10-10 02:00:00    6.0
Freq: 30T, dtype: float64

Проблема с последней состоит в том, что нет строки для представления 02:30:00

Я хочу добиться чего-то, что:

2018-10-10 00:00:00    5.0
2018-10-10 00:30:00    5.0
2018-10-10 01:00:00    5.5
2018-10-10 01:30:00    5.5
2018-10-10 02:00:00    6.0
2018-10-10 02:30:00    6.0
Freq: 30T, dtype: float64

Я понимаю, что серия hourly заканчивается в 02:00, поэтому нет никаких оснований ожидать, что панды вставят последние полчаса по умолчанию.Однако после прочтения многих устаревших / старых постов, некоторых более новых, документации и поваренной книги , я все еще не смог найти простое решение.

Наконец, я также протестировал использование .mean(), но это не заполняло NaN . And interpolate() не усредняли по часам, как я этого хотел.

Мой .ffill() / 2 в этом случае почти работает как способ распространения часа на полчаса, но это похоже на хак с проблемой, которую, я думаю, панды уже обеспечивают лучшее решение.

Заранее спасибо.

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