我想使用 python 将数组中的所有数字更改为 ABCD 评分系统
I want to change all of the number in my array into ABCD scoring system using python
我想将数组中的所有数字更改为 ABCD 评分系统。我有 100 X 1 的分数数组,我的数组放在 total_score 下。我尝试使用
def grade(score):
if 91 <= score <= 100:
return 'A'
if 81 <= score <= 90.99:
return 'B'
if 71 <= score <= 80.99:
return'C'
if 61 <= score <= 70.99:
return'D'
else:
return'E'
grade = float(total_score)
我也试过使用
def determine_grade(scores, breakpoints=[50, 60, 70, 80, 90], grades='FEDCBA'):
i = bisect.bisect(breakpoints, scores)
return grades[i]
[grade(score) for score in [total_score]]
两者都不起作用。也有一些建议,但似乎 none 的建议与 pandas array
一起工作
假设您的总分数组如下所示:
total_scores = ['99', '100', '52', '69', '33', '77']
您的评分函数:
def grade(score):
if 91 <= score <= 100:
return 'A'
if 81 <= score <= 90.99:
return 'B'
if 71 <= score <= 80.99:
return'C'
if 61 <= score <= 70.99:
return'D'
else:
return'E'
那么你所要做的就是:
grading_score = [grade(float(score)) for score in total_scores] # returns ['A', 'A', 'E', 'D', 'E', 'C']
请注意,在调用 'grade' 函数之前,我将数组中的字符串转换为浮点数。
这里是使用list comprehensions
的官方文档
我想将数组中的所有数字更改为 ABCD 评分系统。我有 100 X 1 的分数数组,我的数组放在 total_score 下。我尝试使用
def grade(score):
if 91 <= score <= 100:
return 'A'
if 81 <= score <= 90.99:
return 'B'
if 71 <= score <= 80.99:
return'C'
if 61 <= score <= 70.99:
return'D'
else:
return'E'
grade = float(total_score)
我也试过使用
def determine_grade(scores, breakpoints=[50, 60, 70, 80, 90], grades='FEDCBA'):
i = bisect.bisect(breakpoints, scores)
return grades[i]
[grade(score) for score in [total_score]]
两者都不起作用。也有一些建议,但似乎 none 的建议与 pandas array
一起工作假设您的总分数组如下所示:
total_scores = ['99', '100', '52', '69', '33', '77']
您的评分函数:
def grade(score):
if 91 <= score <= 100:
return 'A'
if 81 <= score <= 90.99:
return 'B'
if 71 <= score <= 80.99:
return'C'
if 61 <= score <= 70.99:
return'D'
else:
return'E'
那么你所要做的就是:
grading_score = [grade(float(score)) for score in total_scores] # returns ['A', 'A', 'E', 'D', 'E', 'C']
请注意,在调用 'grade' 函数之前,我将数组中的字符串转换为浮点数。
这里是使用list comprehensions
的官方文档