与groupby的酒吧情节

jac*_*cob 10 matplotlib pandas seaborn

我的分类变量case_satus具有四个唯一值.我有2014年到2016年的数据.我想绘制case_status按年分组的分布.我尝试使用:

df.groupby('year').case_status.value_counts().plot.barh()
Run Code Online (Sandbox Code Playgroud)

我得到以下情节:

产量

我想拥有的是一个更好的代表.例如,我每年都有一种颜色,而所有"DENIED"都会彼此相邻.

我认为它可以实现,因为groupby对象是一个多索引,但我不太了解它创建我想要的情节.


解决方案是:

df.groupby('year').case_status.value_counts().unstack(0).plot.barh()
Run Code Online (Sandbox Code Playgroud)

并导致

在此输入图像描述

jez*_*ael 11

我认为你需要添加unstackDataFrame

df.groupby('year').case_status.value_counts().unstack().plot.barh()
Run Code Online (Sandbox Code Playgroud)

也可以更改级别:

df.groupby('year').case_status.value_counts().unstack(0).plot.barh()
Run Code Online (Sandbox Code Playgroud)

  • `.unstack(0)` 做了我想要的 (2认同)