У меня есть последовательность отметок времени, например, так:
from datetime import datetime
dts = [datetime(2018, 12, 21, 10), datetime(2018, 12, 21, 11), datetime(2018, 12, 21, 12)]
Они могут иметь или не иметь пробелы, но каждая отметка времени представляет период времени в 1 час.Я хочу пересчитать это в последовательность из 30 минутных отметок времени, представляющих 30-минутные периоды, например, так: [datetime(2018, 12, 21, 10, 0), datetime(2018, 12, 21, 10, 30), datetime(2018, 12, 21, 11, 0), datetime(2018, 12, 21, 11, 30), datetime(2018, 12, 21, 12, 0), datetime(2018, 12, 21, 12, 30)]
.
Самое близкое, что мне удалось получить, это (ab) с использованием панд:
import pandas as pd
s = pd.Series(dts, index=pd.DatetimeIndex(dts))
s.asfreq('30T').index
, который дает мне следующее
DatetimeIndex(['2018-12-21 10:00:00', '2018-12-21 10:30:00',
'2018-12-21 11:00:00', '2018-12-21 11:30:00',
'2018-12-21 12:00:00'],
dtype='datetime64[ns]', freq='30T')
Обратите внимание, что у него нет "2018-12-21 12:30:00".