У меня есть следующий дневной фрейм данных:
daily_index = pd.date_range(start='1/1/2015', end='1/01/2018', freq='D')
random_values = np.random.randint(1, 3,size=(len(daily_index), 1))
daily_df = pd.DataFrame(random_values, index=daily_index, columns=['A']).replace(1, np.nan)
Я хочу отобразить каждое значение в фрейм данных, где каждый день расширяется до нескольких интервалов в 1 минуту. Окончательный DF выглядит так:
intraday_index = pd.date_range(start='1/1/2015', end='1/01/2018', freq='1min')
intraday_df_full = daily_df.reindex(intraday_index)
# Choose random indices.
drop_indices = np.random.choice(intraday_df_full.index, 5000, replace=False)
intraday_df = intraday_df_full.drop(drop_indices)
В последнем кадре данных каждый день разбивается на интервалы в 1 минуту, но некоторые отсутствуют (поэтому число минут в каждом дне не одинаково). Некоторые дни имеют значение в начале дня, но nan
для остальных.
У меня вопрос, только для дней, которые начинаются с некоторого значения в первую минуту, как мне заполнить фронт дляостаток дня?
Сначала я попытался просто сделать следующее daily_df.reindex(intraday_index, method='ffill', limit=1440)
, но, поскольку некоторые строки отсутствуют, это не может работать. Может быть, есть способ ограничить по времени?