有2种可能的解决方案-更改
index绘图之前的顺序-通过
reindex或
loc:
df.CatVar.value_counts().reindex(["Low", "Medium", "High"]).plot(kind="bar")df.CatVar.value_counts().loc[["Low", "Medium", "High"]].plot(kind="bar")
或使用
ordered categorical,因此在
value_counts按
categories参数获得命令后:
df.CatVar = pd.Categorical(df.CatVar, categories=["Low", "Medium", "High"], ordered=True)df.CatVar.value_counts(sort=False).plot(kind="bar")
样品 :
df = pd.Dataframe({'CatVar':['Low','Medium','Low','Low','Medium','High']})print (df) CatVar0 Low1 Medium2 Low3 Low4 Medium5 Highdf.CatVar.value_counts().reindex(["Low", "Medium", "High"]).plot(kind="bar")


