使用具有多索引的数据框创建条形图

Posted

技术标签:

【中文标题】使用具有多索引的数据框创建条形图【英文标题】:Creating bar plot using dataframe with multi-indexing 【发布时间】:2017-05-04 13:42:29 【问题描述】:

我有以下数据框:

         Score
one  A     8
     B    19
     D    29
two  C    18
     A    10
     B     4
     D     2
six  C     4
     A     4
     B     4

我希望创建 one 条形图,其中 X 轴值为“一”、“二”和“六”,每个值有 4 个条形图(A、B、C、D)当 bar 的高度由 score 列决定。

谢谢。 娜斯佳

【问题讨论】:

你能显示你试过的代码吗? 【参考方案1】:

您需要unstack 来使用DataFrame.plot.bar 进行整形:

import matplotlib.pyplot as plt

df.unstack()['Score'].plot.bar()

plt.show()

【讨论】:

【参考方案2】:

尝试以下方法:

df.unstack(level=1).plot(kind='bar')

【讨论】:

谢谢!该图有效,但是为什么在图例中我有 - (0,A)、(0,B)、(0,C) 和 (0,D) 之类的值,而不是 A、B、C 和 D?是否可以在每条 A/B/C/D 上方打印?

以上是关于使用具有多索引的数据框创建条形图的主要内容,如果未能解决你的问题,请参考以下文章

绘制 Pandas 多索引条形图

具有 50 多个创建的虚拟变量的堆积条形图(百分比)? [关闭]

Matplotlib 绘制条形图,在数据框中具有 2 列关系

情节堆积条形图熊猫数据框

来自无组织数据的条形图 - 创建数据框?

如何有条件地在条形图上的条形图上显示数据框的不同列值?