Python:使用groupby计算组的百分比

2024-03-28 14:47:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含客户类型信息的数据框。我使用groupby使用以下命令统计每个类别中的客户类型:

df.groupby('Classification')['customer'].count()

它产生以下结果:

Classification
Agriculture     2366
Commercial     21904
Council          414
Industrial       911
Residential    51018
Name: ICP, dtype: int64

现在我想计算每种分类的百分比。我使用以下命令来计算:

df.groupby(level=0).apply(lambda x: 100 * x/float(x.sum()))

但它会产生以下输出:

Classification
Agriculture    100.0
Commercial     100.0
Council        100.0
Industrial     100.0
Residential    100.0
Name: ICP, dtype: float64

我想显示每种分类的百分比。不知道我在哪里犯了错误。任何帮助都将不胜感激