【发布时间】:2013-10-19 21:45:18
【问题描述】:
我的数据在给定日期可以有多个事件,也可以在某个日期没有事件。我接受这些事件,按日期计数并绘制它们。但是,当我绘制它们时,我的两个系列并不总是匹配。
idx = pd.date_range(df['simpleDate'].min(), df['simpleDate'].max())
s = df.groupby(['simpleDate']).size()
在上面的代码中,idx 变成了 30 个日期的范围。 2013 年 9 月 1 日至 2013 年 9 月 30 日 但是,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()) 的 sn-p,请注意没有 04 和 05 的条目。
09-02-2013 2
09-03-2013 10
09-06-2013 5
09-07-2013 1
【问题讨论】:
标签: python date plot pandas dataframe