Pandas/iPython 中的堆积条形图

Stacked Bar Graph in Pandas/iPython

正在尝试在 Pandas/iPython

中创建堆积条形图

原始数据如下:

    Date1      ProductID1   Count
0   2015-06-21      102     5449
1   2015-06-21      107     5111
2   2015-06-22      102     9083
3   2015-06-22      107     7978
4   2015-06-23      102     21036
5   2015-06-23      107     20756

使用以下设置索引:

Table1.set_index(['Date1'],inplace=True)
display(Table1)

使用以下方法分解数据以准备绘图

 Table1_Unstacked = Table1.unstack()
 display(Table1_Unstacked)

(注意:此命令中没有显示任何内容,所以我假设这是它失败的地方,但我不知道为什么)。

正在尝试以这种格式获取 table:

                       Count     
      Date1          ProductID1 
                    102      107    
    2015-06-21      5449     5111
    2015-06-22      9083     7978
    2015-06-23      21036    20756

然后使用以下方法显示结果,但显示效果不理想。

Table1_Unstacked.plot(kind='bar', stacked=True)   

结果如下。我试图让它显示 3 "bars"(每天一个,计数 102 和 107 "stacked" 相互叠加,但现在它不显示任何堆叠的东西,而是显示 ProductID1 和然后单独计算。附上一张图表图片,但它可能不会让我 post 它。我觉得我犯了一个愚蠢的错误,但任何帮助将不胜感激。

您可以使用 pd.pivot_table().

import pandas as pd

pivot = pd.pivot_table(Table1.reset_index(), index='Date1', columns='ProductID1', values='Count')

pivot
Out[44]: 
ProductID1    102    107
Date1                   
2015-06-21   5449   5111
2015-06-22   9083   7978
2015-06-23  21036  20756


pivot.plot(kind='bar', stacked=True)