学生的体育测试成绩依据评分标准转换成对应的得分

该代码示例展示了如何利用Python的numpy和pandas库处理Excel文件,检查并填充空值,然后根据设定的评分标准对1000米跑的成绩进行自动化打分。计算过程包括读取测试成绩表和评分标准,定义函数进行评分,并将结果添加到原始数据中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#体测成绩自动化打分
import numpy as np
import pandas as pd
import os


os.chdir('C:\\Users\\Administrator\\Desktop\\体育评分\\')
records = pd.read_excel('体育测试成绩.xlsx',sheet_name='测试成绩表')

#先判断是否空值isnull();再求均值,即求每一列的True的均值mean()
#Fasle 0;  True 1;
records.isnull().mean()
records = records.fillna(0)

#读取打分标准表(体测评分标准)
score_table = pd.read_excel('评分标准.xlsx',sheet_name='评分标准',header=[0,1],index_col=[0])
#header=[0,1] 将前两行进行固定 ;index_col=[0]将第一行进行 行索引
score_table.head()


#提取1000米成绩,1000米打分

m_1000 = score_table['1000/800米']

def calculate(x):
    if x == 0:
        return 0
    select = x <= m_1000['男']
    if select.sum() <= 0:
        return 0
    return m_1000.loc[select,'得分'].iloc[0]
    

records['1000/800米分数'] = records['1000/800米'].map(calculate)

 学生测试成绩表

学生体育评分标准

求大侠跟据以上2图,修改代码,实现全部成绩转换。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值