我的数据可以在给定日期有多个事件,也可以在某个日期没有事件。我接受这些事件,按日期计数并绘制它们。但是,当我绘制它们时,我的两个系列并不总是匹配。
idx = pd.date_range(df['simpleDate'].min(), df['simpleDate'].max())
s = df.groupby(['simpleDate']).size()
在上面的代码中,idx变成了 30 个日期的范围。09-01-2013 到 09-30-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