更新评估班级、确定评价学生

news2024/10/7 16:26:44

场景:

        义务阶段为何要进行分层分班,这一点大家都心知肚明。你说的答案是不是也和我的一样:为了实行分层教学。"人往高处走,水往低处流",每次确定分班后,总会有一些学生向上调整,当然也会有一些不按常规行事的到B层次班级,这些变动的学生通常被称为"留学生"。留学生最终会回到原来的班级评价,导致每次考试后评价需要重新调整。手动操作时,一不留神,有些学生可能会调整时遗漏,这样会影响原班级评价,则需要重新调整,耗时且让人烦躁。第二个问题是,有时每个班级总会有几名学生不适合学习,评价时常根据总分降序排列,将末尾几位同学删除。由于班级众多,每班删除的人数不等,手动操作耗时费力,还易出错。第三个问题是, 有部分同学不参与评估时会将其班号标识为一个不存在的班号例如“0”或“最大班号+1" ,比如最大班号为15,则将不参与评估的标为16,最后将这些学生删除,方式很多。今天我们还是让gpt-4o来解决这些个问题。

        今天不知什么原因,gpt-4o不是很稳定,常常异常退出!!!

        以前是用Excel中的=VLOOKUP()根据ID来匹配的,现在只是用python模拟人工处理的过程。

表结构:

成绩表结构

对照表结构

提示词

"""
学生成绩表和对照表是两个独立的工作簿,
学生成绩表,表字段为:(准考证号	姓名	现在班级	评估班级	考场名称	座位号	语文	数学	英语	生物	历史	地理	政治	总分),
对照表的表字段为: (准考证号	评估班级	现在班级),
1、以准考证号为关联字段,用对照表中评估班级更新学生成绩表中的评估班级。
2、删除不参与评估学生,例如成绩表中评估班级为16的学生。
3、总分降序排列,根据给定列表中指定的数据保留参评的人数,人数相等或小于列表中指定人数不做处理,只有当人数多于列表中指定的数量,则将多余的删除,例如给的列表为[53,53,53,53,53,53,53,53,53,53,58,57,58,56,55], 以上列表每个元素对应1到15班级应参与评估的人数。只保留前面规定的人数。4、不要修改学生成绩表,请在其副本上做以上处理,以”最后结果+ 时间戳命名。
"""

程序清单:

import pandas as pd

# 读取两个工作簿

student_grades_df = pd.read_excel('成绩表.xlsx')

mapping_df = pd.read_excel('对照表.xlsx')

# 1. 以准考证号为关联字段,更新学生成绩表中的评估班级字段

merged_df = pd.merge(student_grades_df, mapping_df[['准考证号', '评估班级']], on='准考证号', suffixes=('', '_mapping'))

merged_df['评估班级'] = merged_df['评估班级_mapping']

merged_df.drop(columns=['评估班级_mapping'], inplace=True)

# 2. 删除评估班级为16的学生

filtered_df = merged_df[merged_df['评估班级'] != 16]

# 3. 总分降序排列

sorted_df = filtered_df.sort_values(by='总分', ascending=False)

# 根据给定的列表,使得每个评估班级保留指定人数,多余的删除

# retain_count_by_class = [53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 58, 57, 58, 56, 55]

# 从txt文件中逐行读入数据到列表
with open('班级评估人数.txt', 'r') as file:
    retain_count_by_class = [int(line.strip()) for line in file]


final_df = pd.DataFrame()


for class_number, retain_count in enumerate(retain_count_by_class, start=1):

    class_df = sorted_df[sorted_df['评估班级'] == class_number]

    if len(class_df) > retain_count:
        class_df = class_df.head(retain_count) # 如果某班级的学生数量超过了规定要保留的人数,只保留前 retain_count 个学生,即删除多余的学生。

    final_df = pd.concat([final_df, class_df], ignore_index=True)

# 4. 不要修改原始学生成绩表,在其副本上做以上处理,以”最后结果+时间戳"命名
timestamp = pd.Timestamp.now().strftime('%Y%m%d%H%M%S')
output_filename = f'最后结果_{timestamp}.xlsx'
final_df.to_excel(output_filename, index=False)

将每个班级参与评估的人数写到一个txt文件中,从txt中读入。

以上程序很好的完成了功能,提高了效率,避免手工出错。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1688030.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python2.x版本安装、安装pip

文章目录 一、安装python二、安装pip2.1、pip简介2.2、pip安装2.3、no such option: -e2.4、pip卸载2.5、pip扩展 本文讲解在windows系统装安装python2.7.13版本 一、安装python 1.下载安装包,官网链接地址:https://www.python.org/downloads/ 直接在…

Pytorch深度学习实践笔记4

🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:pytorch深度学习 🎀CSDN主页 发狂的小花 🌄人生秘诀:学习的本质就是极致重复! 视频来自【b站刘二大人】 1 反向传播 Back propaga…

机器视觉HALCON:2.HALCON的预备环境和数据结构

目录 下载基础语法HALCON的数据结构图像和数据类型区域的存储区域的存储连通区域 亚像素轮廓(XLD)亚像素轮廓介绍亚像素轮廓数据结构 数组数组的赋值与创建数组的存储与读取 字典字典介绍字典的创建和操作 句柄 下载 HALCON的官方网站 下载时需要注册登…

react antd中transfer穿梭框组件中清除搜索框内容

如图:需要清除search搜索框内容 antd的transfer穿梭框组件未提供入口修改input框的值。 2种方法修改。 1、直接操作dom元素设置值(不推荐) useEffect(() > {const searchInput document.querySelector(.ant-transfer-list-search input)…

Redis常用命令——String篇

前面我们讲解了一些 Redis 的全局命令(Redis常用基本全局命令)。所谓全局命令,就是可以匹配任意一个数据结构进行使用。但是不同的数据结构,也有自己的操作命令。本篇文章主要讲解的是 String 的操作命令,希望会对你有…

2024电工杯B题:大学生平衡膳食食谱的优化设计及评价

大学时代是学知识长身体的重要阶段,同时也是良好饮食习惯形成的重要时期。这一特 定年龄段的年轻人,不仅身体发育需要有充足的能量和各种营养素,而且繁重的脑力劳动和 较大量的体育锻炼也需要消耗大量的能源物质。大学生中饮食结构不合理以及…

在抖音怎么开店?抖音小店开店步骤详解!建议收藏!

大家好,我是电商小V 想在抖音上面开一家属于自己的抖音店铺去卖点商品赚取个商品的差价,那么开通抖音小店的步骤是什么呢?主要分为几步呢?关于这个问题咱们就来详细的说一下: 开店之前的准备工作,首先需要准…

核心四:线程的一生

4、核心四:线程的一生💟 4.1 New 已创建但还未启动的新线程。 我们new Thread之后,线程已经实现了一些准备工作。但没有运行run方法,因为没有使用start来开启线程。此时,线程处于New状态。 4.2 Runnable&#xff08…

Python模块、包和异常处理

大家好,在当今软件开发领域,Python作为一种简洁、易读且功能强大的编程语言,被广泛应用于各种领域。作为一名测试开发工程师,熟练掌握Python的模块、包和异常处理是提高代码可维护性和错误处理能力的关键。本文将和大家一起探讨Py…

Linux —— 信号量

Linux —— 信号量 什么是信号量P操作(Wait操作)V操作(Signal操作)信号量的类型 一些接口POSIX 信号量接口:其他相关命令: 基于循环队列的生产者和消费者模型同步关系 多生产多消费 我们今天接着来学习信号…

5.22R语言初步学习-1

今天上课讲R语言,要干什么没讲,分析什么,目的是什么没讲。助教基本上就是让我们打开窗口,按要求抄代码指令,代码原理也没讲......再加上最近正好在学概率论与数理统计,肯定是有用的,所以还是学习…

(全面)Nginx格式化插件,Nginx生产工具,Nginx常用命令

目录 🎫 前言 🎉 开篇福利 🎁 开篇福利 x2 Double happiness # 介绍 # 地址 # 下载 💻 命令及解析 # 整个文件系统中搜索名为nginx.conf的文件 # 编辑nginx.conf文件 # 重新加载配置文件 # 快速查找nginx.conf文件并使…

HTTP协议请求报头(header)

目录 目录 User-Agent与Referer User-Agent Referer Cookie HTTP报头(header)的结构是“键值对”结构,每个键值对占一行,键和值之间使用分号分隔。 报头的种类有很多,本次介绍几个重要的。 Host:表示请…

中电金信:从系统升级入手 看这些银行如何激活信贷业务

近期,我国金融机构围绕科技金融、绿色金融、普惠金融、养老金融、数字金融五篇大文章,持续优化信贷结构,不断增强金融服务实体经济作用。金融业认真落实国家经济发展目标,不断优化资金投向结构,持续加大重大战略、重点…

robosuite导入自定义机器人

目录 目的:案例一:成果展示具体步骤:URDF文件准备xml文件生成xml修改机器人构建 目的: 实现其他标准/非标准机器人的构建 案例一: 成果展示 添加机器人JAKA ZU 7 这个模型 具体步骤: URDF文件准备 从…

解决小皮面版搭建php网站数据库连接不了

首先进入mysql bin目录下 并执行cmd mysql -u root -pCREATE USER userlocalhost IDENTIFIED BY pass;GRANT ALL PRIVILEGES ON *.* TO userlocalhost;GRANT SELECT, INSERT, UPDATE ON database_name.* TO xxwlocalhost;FLUSH PRIVILEGES;select host ,user from mysql.user…

数据防泄漏系统哪个好用,给文件加密的软件

数据防泄露(Data Leakage Prevention,DLP)是指通过一定的技术手段,防止组织指定(重要或敏感的)数据或信息资产以违反安全策略规定的形式流出组织的一种策略。 信息防泄露以文档加密技术为核心,…

urllib_post请求_百度翻译

打开百度翻译,并打开控制台,输入spider,然后在网络中找到对应的接口,可以看出,该url是post请求 在此案例中找到的接口为sug,依据为: 可以看到,传递的数据为kw : XXX, 所…

Excel 下划线转驼峰

Excel 下划线转驼峰 LOWER(LEFT(SUBSTITUTE(PROER(A1),"_",""),1))&RIGHT(SUBSTITUTE(PROPER(A1),"_",""),LEN(SUBSTITUTE(PROPER(A1),"_",""))-1)