使用 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 不需要在行尾添加 ;
。
目前我正在使用指定的方法
我的代码是:
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 不需要在行尾添加 ;
。