我的分类变量case_satus
具有四个唯一值。我有2014年至2016年的数据。我想绘制按年分组的case_status
的分布情况。我尝试使用:
df.groupby('year').case_status.value_counts().plot.barh()
我得到以下情节:
我想拥有的是一个更好的代表。例如,我每年都有一种颜色,而且所有“DENIED”都会彼此相邻。
我认为它可以实现,因为groupby对象是一个多索引,但我不太了解它创建我想要的情节。
解决方案是:
df.groupby('year').case_status.value_counts().unstack(0).plot.barh()
并导致
答案 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()