Python ValueError在条形图和pivot_表中使用YER时出错

Python ValueError在条形图和pivot_表中使用YER时出错,python,pandas,matplotlib,Python,Pandas,Matplotlib,我正在尝试在pandas中的pivot_table中的bar绘图与pivot_table绘图相同的绘图中获取错误条(使用yerr) 到目前为止,我有以下代码: from io import StringIO import pandas as pd import matplotlib.pyplot as plt txt = u'''Category COLUMN1 COLUMN2 COLUMN3 A 0.5 3

我正在尝试在pandas中的
pivot_table
中的
bar
绘图与
pivot_table
绘图相同的绘图中获取错误条(使用
yerr

到目前为止,我有以下代码:

from io import StringIO
import pandas as pd
import matplotlib.pyplot as plt

txt = u'''Category    COLUMN1         COLUMN2     COLUMN3    
A          0.5               3          Cat1   
B          0.3               5          Cat1 
C          0.7               4          Cat1
A          0.4               3          Cat2
B          0.8               5          Cat2
C          0.3               4          Cat2
'''

df = pd.read_table(StringIO(txt), sep="\s+")

order = ['Cat2', 'Cat1']
suborder = list("BAC")

df2 = pd.pivot_table(df,index='COLUMN3',columns='Category',values='COLUMN2').loc[order]
df2 = df2[suborder]
df2.plot(kind='bar', yerr=pd.pivot_table(df, index='COLUMN3',columns='Category',values='COLUMN1').values)

plt.legend(bbox_to_anchor=(1.3, 0.5))

plt.show() 
但是,将显示此错误:

  File "C:\ProgramData\Anaconda3\lib\site-packages\matplotlib\axes\_axes.py", line 2961, in extract_err
    raise ValueError("err must be [ scalar | N, Nx1 "

ValueError: err must be [ scalar | N, Nx1 or 2xN array-like ]
绘图输出如下所示:

使用
df2.plot(kind='bar')
在没有错误条的情况下进行打印会产生以下输出:


关于问题(阻止错误条显示)可能是什么,您有什么想法吗?

您需要重新索引yerr数据帧,以匹配源数据帧df2

df2.plot(kind='bar', 
         yerr=pd.pivot_table(df,
                             index='COLUMN3',
                             columns='Category',values='COLUMN1')
                .reindex(df2.index)
                .reindex(df2.columns, axis=1))
输出: