索引中有重复日期时间的Python条形图

时间:2018-11-09 16:29:24

标签: python datetime matplotlib plot

我想使用matplotlib pyplot在python中制作条形图。数据由一个索引(一个日期时间列表)和一个与该日期时间相对应的数字组成。我有所有属于同一天的各种样本。但是,制作条形图时,它仅显示对应于某个日期时间的第一个样本,而不是所有样本。如何制作显示每个条目的条形图?

索引具有以下结构:

ind = [datetime.datetime(2017, 3, 1, 0, 0), datetime.datetime(2017, 3, 1, 0, 0), 
       datetime.datetime(2017, 3, 15, 0, 0), datetime.datetime(2017, 3, 15, 0, 0)]

,值只是整数:

values = [10, 20, 30, 40]

因此,在绘制时,它仅显示值为10的条形图2017-3-1和值为30的条形图2017-3-15。如何使它们全部显示?

1 个答案:

答案 0 :(得分:2)

您可以按日期分组,添加值,然后从同一数据框中绘制条形图:

df = pd.DataFrame(data=values, index=ind)
df = df.groupby(df.index).sum()
df.plot(kind='bar')

如果要使所有值都显示在绘图中,而不考虑日期,则可以简单地使用:

df.plot(kind='bar')

具有重复日期的条目将被独立绘制。