Увеличение диапазона дат для фрейма данных - PullRequest
0 голосов
/ 14 мая 2018

У меня есть датафрейм, сгенерированный этим кодом:

df_ = pd.DataFrame([['2018-02-05', '2018-02-11', '2018-02-12'], [77, 77, 77]]).transpose()
df_.set_index(keys = 0, inplace = True)

Я хотел бы создать фрейм данных на основе df_, который охватывает следующий диапазон дат

start_date = pd.to_datetime('2018-02-01')
end_date = start_date + pd.DateOffset(months=1) - pd.DateOffset(days=14)
index_ = pd.date_range(start_date, end_date)

Отсутствующие значения в df_ должны быть заполнены нулями. Является ли это быстрым способом сделать это, не преобразовывая index_ в кадр данных, а затем применяя что-то вроде pd.merge или pd.concat?

Спасибо, пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

1 Ответ

0 голосов
/ 14 мая 2018

Я думаю, что нужно преобразовать индекс to_datetime, а затем использовать reindex, если все значения в index_ и оригинальном df.index уникальны:

df_.index = pd.to_datetime(df_.index)
df = df_.reindex(index_, fill_value=0)
print (df)
             1
2018-02-01   0
2018-02-02   0
2018-02-03   0
2018-02-04   0
2018-02-05  77
2018-02-06   0
2018-02-07   0
2018-02-08   0
2018-02-09   0
2018-02-10   0
2018-02-11  77
2018-02-12  77
2018-02-13   0
2018-02-14   0
2018-02-15   0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...