python - 绘制 Pandas Multiindex 条形图

标签 python pandas matplotlib bokeh plotly

如何将 Python Pandas 多索引数据框绘制为带有组标签的条形图?是否有任何绘图库直接支持这个?这SO post显示了使用 matplotlib 的自定义解决方案,但是否有直接支持?

举个例子:

quarter  company
Q1       Blue       100
         Green      300
Q2       Blue       200
         Green      350
Q3       Blue       300
         Green      400
Q4       Blue       400
         Green      450
Name: count, dtype: int64

...可以使用组标签绘制此数据框吗 like this

提前致谢

拉菲

最佳答案

import pandas as pd

data = pd.DataFrame([
        ('Q1','Blue',100),
        ('Q1','Green',300),
        ('Q2','Blue',200),
        ('Q2','Green',350),
        ('Q3','Blue',300),
        ('Q3','Green',400),
        ('Q4','Blue',400),
        ('Q4','Green',450),
    ], 
    columns=['quarter', 'company', 'value']
)
data = data.set_index(['quarter', 'company']).value

data.unstack().plot(kind='bar', stacked=True)

stacked bar chart from multiindex

如果您不想堆叠条形图:

data.unstack().plot(kind='bar')

not-stacked bar chart

关于python - 绘制 Pandas Multiindex 条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34248741/

相关文章:

python - 如何反转集合中的树状链接?

基于多种条件的Python随机样本选择

python - 如何让 Pydev + jython 在运行脚本时启动得更快?

python - 如何增加Google Colab单元输出宽度?

python - 来自数据框的任何深度的嵌套字典

python - 在 tkinter 中将单个像素绘制到 Canvas 上

python - 类型函数的 Pandas 过滤参数不可迭代

python - 在 seaborn 中订购箱线图 x 轴

python - 在matplotlib直方图的y轴上调用函数

python - 尝试绘制两行数据时出现 "Could not Convert String to Float"错误