首页 > 解决方案 > 使用 pandas groupby 时可以得到比例吗?

问题描述

目前我正在使用此处指定的方法来生成以下图:

我的代码是:

grouped_data = df.groupby(["ssc_b", "hsc_b"]).status.value_counts().unstack(2);
grouped_data.plot.bar(title = "Placements by Board of Education", rot = 45).set_xlabel("(SSC, HSC)");

但我想更改组内的值以表示 ech 组内的比例而不是计数本身,因为每组的样本数量变化很大。我觉得这样可以更容易地比较组。有没有一种简单的方法可以做到这一点?

标签: pythonpandasmatplotlibdata-sciencevisualization

解决方案


你可以传递normalize=Truevalue_counts

grouped_data = (df.groupby(["ssc_b", "hsc_b"]).status
                  .value_counts(normalize=True).unstack(2)
               )

另附注:Python 不需要;在行尾。


推荐阅读