繁体   English   中英

从 dataframe 计算百分比,它在“值”列中具有相同的 id 和多个值

[英]calculate percentage from a dataframe which has same id and multiple values in 'value' column

我有一个 dataframe 有 45 个唯一值,对应的是其他值,如“面包”、“切片”、果冻和粉末。

这是我组成的数据集:

Value_ID     Value
1000         bread
1000         bread
1000         bread
1000         bread
1000         jelly
1000         bread
1001         powder
1001         bread
1001         bread
1001         bread
1001         bread
1002         slice 
1002         powder
1002         bread
1002         jelly

在这里,我试图从数据中获取 Value_ID 的数量(计数),其中 value-ID 包含大于或等于 80% 的面包,在本例中为 2,value_id 为 1001 和 1002。

您可以在 boolean 系列上使用grouby.mean来获取面包上的比例,然后过滤:

(df['Value'].eq('bread')
 .groupby(df['Value_ID']).mean()
 .loc[lambda x: x>=0.8]
 .index.to_list()
)

output: [1000, 1001]

中间的:

(df['Value'].eq('bread')
 .groupby(df['Value_ID']).mean()
)

output:

Value_ID
1000    0.833333
1001    0.800000
1002    0.250000
Name: Value, dtype: float64

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM