我想使用Pandas创建一个图,以显示特定工作日的物品价格标准差(在我的情况下,一周中有6个相关的天,在x轴上分别显示为0-5)。
这似乎可行,但是每个标准偏差栏旁边还有另一组较小的栏,其字面值也为0-5。
我认为这意味着我也意外地在绘制星期几。
如何摆脱这些较小的条形图,而仅显示标准偏差条形图?
sales_std=sales_std[['WeekDay','price']].groupby(['WeekDay']).std()
.reset_index()
这是我尝试绘制图形的地方:
p = sales_std.plot(figsize=
(15,5),legend=False,kind="bar",rot=45,color="orange",fontsize=16,
yerr=sales_std);
p.set_title("Standard Deviation", fontsize=18);
p.set_xlabel("WeekDay", fontsize=18);
p.set_ylabel("Price", fontsize=18);
p.set_ylim(0,100);
答案 0 :(得分:1)
您正在同时绘制WeekDay
和price
(即绘制整个Dataframe
)。为了仅显示price
的条,您需要绘制以Series
作为索引的WeekDay
(因此reset_index()
之后不需要groupby()
)。 / p>
# you don't need `reset_index()` in your code
sales_std=sales_std[['WeekDay','price']].groupby(['WeekDay']).std()
sales_std['price'].plot(kind='bar')
注意:我特意省略了代码的图形样式部分,以专注于解决此问题。