首页 > 解决方案 > 在python中计算一列中不同类别的比率

问题描述

我是 Python 新手。我有一个如下的数据框,我想计算每个类别相对于所有类别的比率。我还想计算 Plus+ Premium 相对于所有类别的比率。谁能帮我?

product_tier    count
0   Basic   75421
1   Premium 2324
2   Plus    576

我写了下面的代码,但我不知道如何使它工作。

m=((ratio[ratio.product_tier =="Premium"].sum())+(ratio[ratio.product_tier =="Plus"].sum()))
m

n=(ratio[ratio.product_tier].sum())
r=m/n

我想要的输出如下表:


product_tier    count.  Ratio  ratio(Plus+ Premium)
0   Basic   75421.       x.       u

1   Premium 2324.        x.       u
2   Plus    576.         x.       u

标签: pythonpandasgroup-by

解决方案


经过大量研究:

df["比率"] = df.iloc[:, 1:].apply(lambda x: x / x.sum()) df


推荐阅读