pandas groupby sum area plot

时间:2017-11-06 17:49:56

标签: python pandas pandas-groupby

我希望根据groupby和sum创建的汇总数据,随着时间的推移制作堆积区域图。

groupby和sum部分正确地对我想要的数据进行分组和求和,但似乎结果格式在绘制它时是无意义的。

我不确定从哪里开始:

    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt

    df=pd.DataFrame({'invoice':[1,2,3,4,5,6],'year':[2016,2016,2017,2017,2017,2017],'part':['widget','wonka','widget','wonka','wonka','wonka'],'dollars':[10,20,30,10,10,10]})
    #drop the invoice number from the data since we don't need it
    df=df[['dollars','part','year']]
    #group by year and part, and add them up
    df=df.groupby(['year','part']).sum()

    #plotting this is nonsense:
    df.plot.area()
    plt.show()

1 个答案:

答案 0 :(得分:0)

要绘制多个系列图表,最简单的方法是将每个系列组织为一个单独的列,即替换

df=df.groupby(['year','part']).sum()

df=df.groupby(['year', 'part']).sum().unstack(-1)

然后其余的代码应该可以工作。但是,我不确定这是否是你需要的,因为没有显示所需的输出。

df.plot.area()然后生成类似

的图表

area chart: <code>df.plot.area()</code>