Python ValueError在条形图和pivot_表中使用YER时出错
我正在尝试在pandas中的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
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))
输出: