gpt4 book ai didi

python - GROUP BY python 后总大小的百分比

转载 作者:行者123 更新时间:2023-12-01 08:31:34 25 4
gpt4 key购买 nike

   code_module  final_result

AAA Distinction 44
Fail 91
Pass 487
Withdrawn 126

这是Python代码的结果

 studentInfo.groupby(['code_module','final_result']).agg({'code_module':[np.size]})
  • 我想计算每个final_result占总数的百分比
  • 数学是 AAA.pass/AAA.total

  • 总数是上述所有数字的总和。

最佳答案

我相信你需要SeriesGroupBy.value_counts带参数标准化:

s1 = studentInfo.groupby('code_module')['final_result'].value_counts(normalize=True)
print (s1)
code_module final_result
AAA Pass 0.651070
Withdrawn 0.168449
Fail 0.121658
Distinction 0.058824
Name: final_result, dtype: float64

或者将您的简化解决方案划分为 DataFrameGroupBy.sizeMultiIndex 第一级的 sum 计算

s = studentInfo.groupby(['code_module','final_result']).size()
s2 = s.div(s.sum(level=0), level=0)
print (s2)
code_module final_result
AAA Distinction 0.058824
Fail 0.121658
Pass 0.651070
Withdrawn 0.168449
dtype: float64

解决方案之间的差异是 value_counts 按降序返回输出 Series,以便第一个元素是最常出现的元素,size 不是.

关于python - GROUP BY python 后总大小的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53896517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com