我想使用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);


Resulting Bar Plot:

最佳答案

您正在同时绘制WeekDayprice(即绘制整个Dataframe)。为了仅显示price的条,您需要绘制给定Series作为索引的WeekDay(因此在reset_index()之后不需要groupby())。

# you don't need `reset_index()` in your code
sales_std=sales_std[['WeekDay','price']].groupby(['WeekDay']).std()
sales_std['price'].plot(kind='bar')


注意:我特意省略了代码的图形样式部分,以专注于解决此问题。

关于python - 在Pandas的情节上有额外的酒吧?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50981379/

10-11 16:36