与groupby的酒吧情节

时间:2018-01-13 08:47:48

标签: pandas matplotlib seaborn

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

df.groupby('year').case_status.value_counts().plot.barh()

我得到以下情节:

output

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

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

解决方案是:

df.groupby('year').case_status.value_counts().unstack(0).plot.barh()

并导致

enter image description here

1 个答案:

答案 0 :(得分:8)

我认为您需要为DataFrame添加unstack

df.groupby('year').case_status.value_counts().unstack().plot.barh()

也可以改变等级:

df.groupby('year').case_status.value_counts().unstack(0).plot.barh()