[英]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.