gpt4 book ai didi

python - 在 Python 中按阈值计算每列的百分比

转载 作者:太空宇宙 更新时间:2023-11-03 12:53:34 24 4
gpt4 key购买 nike

如果我有以下数据框:

studentId   sex     history    english    math    biology
01 male 75 90 85 60
02 female 85 80 95 70
03 male 55 60 78 86
04 male 90 89 76 80

我想要一个新表格,显示每个科目分数高于阈值 80(包括 80)的百分比。例如,有两名学生的历史成绩高于80,则历史的百分比为2/4 = 50%。有人可以帮我用 Python 这样做吗?谢谢。

history        50%
english 75%
math 50%
biology 50%

最佳答案

使用:

s = df.iloc[:, 2:].ge(80).mean().mul(100)
print (s)
history 50.0
english 75.0
math 50.0
biology 50.0
dtype: float64

解释:

首先通过DataFrame.iloc按位置只选择必要的列:

print (df.iloc[:, 2:])
history english math biology
0 75 90 85 60
1 85 80 95 70
2 55 60 78 86
3 90 89 76 80

然后用DataFrame.ge比较(>=):

print (df.iloc[:, 2:].ge(80))
history english math biology
0 False True True False
1 True True True False
2 False False False True
3 True True False True

并通过 DataFrame.mul 得到 mean 乘以 100 的倍数:

print (df.iloc[:, 2:].ge(80).mean().mul(100))
history 50.0
english 75.0
math 50.0
biology 50.0
dtype: float64

关于python - 在 Python 中按阈值计算每列的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52097943/

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