python

更新时间: 试题数量: 购买人数: 提供作者:

有效期: 个月

章节介绍: 共有个章节

收藏
搜索
题库预览
import numpy as np 

import pandas as pd 

……

def score_processing(input_file, output_file): 

函数功能如下: 读入学生成绩的excel文件,按要求修改列名并查询满足一定条件的学生。 

新增一列备注,初始化为全0,将满足上述条件的学生备注改为1 

将满足一个新条件的学生的平时总成绩增加5分 最后并按照平时总成绩、作业成绩、考勤成绩三列进行由大到小排序,将排序后的结果保存到一个新的excel文件。

 :param input_file: 输入文件路径 

:param output_file: 输出文件的路径 

# 读取数据 

data = pd.read_excel(【1】) 

# 修改列名:'作业':'作业成绩','考勤':'考勤成绩'

 data.rename(【2】=({'作业':'作业成绩','考勤':'考勤成绩'}),inplace=True)

 #查询满足 平时总成绩、作业成绩、考勤成绩均大于75的学生名单 

query_out = data.【3】( '平时总成绩>=75 & 作业成绩>=75 & 考勤成绩 >=75')

 #新增一列备注,用以标记出满足上述条件的学生,将该列全部初始化为0,其后再将满足上述条件的学生对应改为1 

【4】 = 0 

#将满足上述条件的学生的行索引拿到

 query_list = query_out.【5】 

#遍历原excel,将满足上述条件的学生的备注改为1 

for i in data.index: if i in 【6】: 

    data.iloc[【7】,【8】] = 1 

#将这部分满足条件的学生总成绩增加5分 

data.loc[(data['平时总成绩'] >= 85) & (data['作业成绩'] >= 85) & (data['考勤成绩'] >= 85), '平时总成绩'] += 5 

#按照平时总成绩、作业成绩、考勤成绩三列进行由大到小排序 

data = data.【9】(by=['平时总成绩', '作业成绩', '考勤成绩'], ascending=False) 

#保存结果到新的csv文件中

 data.【10】(output_file, index=False)

 <<<<<<<<<<<<<<<<<函数调用<<<<<<<<<<<<<<<<<<<<<<< <

真实的学生成绩excel文件在:C:\\Users\\jinwanchiji\\Desktop\\test.xlsx路径下 

该代码文件所在路径为C:\\Users\\jinwanchiji\\Desktop\\test.ipynb 

input_excel = "C:\\Users\\jinwanchiji\\Desktop\\test.xlsx" 

out_excel = "C:\\Users\\jinwanchiji\\Desktop\\test_out.xlsx"

 score_processing(input_excel, out_excel)