无法用熊猫创建条形图

时间:2017-12-13 05:01:10

标签: pandas

我正在尝试使用pandas创建条形图。我有以下代码:

import pandas as pd

indexes = ['Strongly agree', 'Agree', 'Neutral', 'Disagree', 'Strongly disagree']

df = pd.DataFrame({'Q7': [10, 11, 1, 0, 0]}, index=indexes)
df.plot.bar(indexes, df['Q7'].values)

根据我的估算,这应该有用,但我得到了一个奇怪的KeyError: 'Strongly agree'。我无法弄清楚为什么这不起作用。

1 个答案:

答案 0 :(得分:2)

通过调用plot作为Pandas方法,您将引用df的数据结构来制作您的情节。

使用index=indexes设置的方式,条形图的x值存储在df.index中。这就是为什么Wen在评论中仅使用df.plot.bar()的建议将起作用,因为在这种情况下,Pandas会自动使用df.index作为x轴。

或者,您可以为xy指定列名称。在这种情况下,您可以将indexes移到包含reset_index()的列中,然后明确调用新的index列:

df.reset_index().plot.bar(x="index", y="Q7")

任何一种方法都会产生正确的情节:

plot