首页 > 解决方案 > 评估列中唯一值的 True 百分比

问题描述

我有一个包含几个列的数据集,我想评估其中的 2 个。其中一列显示 0 到 1 之间的整数,另一列给出品牌名称。我想知道如何获得第 1 列对于品牌列的每个唯一值都有 1 的次数。

前任:

Sold out      Brand

1             Twinkies

1             kitkat

0             Twinkies

0             Nerds

0             Rice krispies 

0             Twinkies

1             snickers

结果可能是:

双胞胎:33% - 1/3

奇巧:100% - 1/1

书呆子:0% - 0/1

米脆饼 0% - 0/1

标签: pythonpython-3.xpandasvalidation

解决方案


使用GroupBy.mean- 它是1值的数量除以计数:

s = df.groupby('Brand')['Sold out'].mean().mul(100)
print (s)
Brand
Nerds              0.000000
Rice krispies      0.000000
Twinkies          33.333333
kitkat           100.000000
snickers         100.000000
Name: Sold out, dtype: float64

推荐阅读