Мои данные могут иметь несколько событий на заданную дату или НИКАКИХ событий на дату. Я беру эти события, подсчитываю по дате и рисую их. Однако, когда я их рисую, две мои серии не всегда совпадают.
idx = pd.date_range(df['simpleDate'].min(), df['simpleDate'].max())
s = df.groupby(['simpleDate']).size()
В приведенном выше коде idx становится диапазоном, скажем, 30 дат. 09-01-2013 - 30.09.2013 Однако в S может быть только 25 или 26 дней, потому что для данной даты не произошло никаких событий. Затем я получаю AssertionError, поскольку размеры не совпадают, когда я пытаюсь построить:
fig, ax = plt.subplots()
ax.bar(idx.to_pydatetime(), s, color='green')
Как правильно с этим справиться? Хочу ли я удалить из IDX даты без значений или (что я бы предпочел) добавить в серию недостающую дату со счетом 0. Я бы предпочел иметь полный график 30 дней с 0 значениями. Если этот подход правильный, есть ли предложения, как начать? Мне нужна какая-то динамическая reindex
функция?
Вот фрагмент S ( df.groupby(['simpleDate']).size()
), нет записей для 04 и 05.
09-02-2013 2
09-03-2013 10
09-06-2013 5
09-07-2013 1
reindex
потрясающая функция. Он может (1) переупорядочивать существующие данные для соответствия новому набору меток, (2) вставлять новые строки там, где ранее не существовало меток, (3) заполнять данные для отсутствующих меток (в том числе путем прямого / обратного заполнения) (4) выбирать строки по этикетке!