我想使用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:
最佳答案
您正在同时绘制WeekDay
和price
(即绘制整个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/