使用 pandas groupby 时可以得到比例吗?

Can I get proportions when using 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)");

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

您可以将 normalize=True 传递给 value_counts:

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

还有一个旁注:Python 不需要在行尾添加 ;