Python 多指标熊猫图

Python 多指标熊猫图,python,matplotlib,pandas,multi-index,Python,Matplotlib,Pandas,Multi Index,在对数据帧执行groupby.sum()后,我在尝试创建预期的绘图时遇到了一些问题 如何为每个code创建子批次(kind='bar'),其中x轴是月,条形是ColA和ColB?使用以下数据框 # using pandas version 0.14.1 from pandas import DataFrame import pandas as pd import matplotlib.pyplot as plt data = {'ColB': {('A', 4): 3.0, ('C', 2)

在对
数据帧执行
groupby.sum()
后,我在尝试创建预期的绘图时遇到了一些问题


如何为每个
code
创建子批次(
kind='bar'
),其中x轴是
,条形是
ColA
ColB

使用以下数据框

# using pandas version 0.14.1
from pandas import DataFrame
import pandas as pd
import matplotlib.pyplot as plt

data = {'ColB': {('A', 4): 3.0,
('C', 2): 0.0,
('B', 4): 51.0,
('B', 1): 0.0,
('C', 3): 0.0,
('B', 2): 7.0,
('Code', 'Month'): '',
('A', 3): 5.0,
('C', 1): 0.0,
('C', 4): 0.0,
('B', 3): 12.0},
'ColA': {('A', 4): 66.0,
('C', 2): 5.0,
('B', 4): 125.0,
('B', 1): 5.0,
('C', 3): 41.0,
('B', 2): 52.0,
('Code', 'Month'): '',
('A', 3): 22.0,
('C', 1): 14.0,
('C', 4): 51.0,
('B', 3): 122.0}}

df = DataFrame(data)

。。。可以绘制以下图形(使用横截面):

一个是A,一个是B,一个是C,x轴:“月”,酒吧是可乐和可乐。 也许这就是你想要的。

我发现unstack(level)方法工作得很好,它还有一个额外的好处,即不需要关于代码数量的先验知识

df.unstack(level=0).plot(kind='bar', subplots=True)

当我尝试运行这个(版本0.13.0)时,这给了我一个“KeyError:'a'”。我刚刚编辑了文章,添加了导入。我使用的是0.14.1,粘贴在这里的代码对我来说很有效。也许版本为0.14.1的人可以证实这一点。我建议通过在轴数组
a
上循环来改进此解决方案,代码如下:
对于ax,在zip中编码(a.flat,df.index.levels[0]):df.xs(code).plot(kind='bar',ax=ax)
每个子批将用于一个代码和列的元组,或者在同一子批次中使用colA和colB的代码?我看到了前者,但对于我的用例来说,得到后者会很好。有什么建议吗?谢谢。只想为其他用户添加一些评论。summated_组是分组的数据帧,这让我开始感到困惑。
df.unstack(level=0).plot(kind='bar', subplots=True)