前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Python+Pandas+sklearn模拟计算山东新高考70万条成绩的赋分与总分

Python+Pandas+sklearn模拟计算山东新高考70万条成绩的赋分与总分

作者头像
Python小屋屋主
发布2023-08-29 17:29:27
发布2023-08-29 17:29:27
3830
举报
文章被收录于专栏:Python小屋Python小屋

任务描述:

山东省新高考政策3+3中,考生必考科目有语文、数学、英语,然后需要在物理、化学、生物、地理、历史、政治这6科中任选3个科目,自主选择的3个科目按等级分计入高考成绩。把每个科目的卷面原始成绩参照正态分布原则划分为8个等级,确定每个考生成绩所处的比例和等级,然后把原始成绩转换为对应的等级成绩。考生原始成绩所处的位次越靠前,计算得到的等级成绩越高。原始成绩的等级划分与等级成绩的对应关系如下:

A等级(排名前3%)==>[91,100];

B+等级(3%-10%)==>[81,90];

B等级(10%-26%)==>[71,80];

C+等级(26%-50%)==>[61,70];

C等级(50%-74%)==>[51,60];

D+等级(74%-90%)==>[41,50];

D等级(90%-97%)==>[31,40];

E等级(97%-100%)==>[21,30]。

例如,小明选了化学,卷面原始成绩为77分,全省选考化学成绩从高到低排序后,小明的分数落在前3%-10%这个区间,对应B+等级,这个区间内的最高分和最低分分别为79和70分,对应的等级成绩区间为[81,90],那么转换为等级成绩之后小明的分数为(77-70)/(79-70)*(90-81)+81=88分,小明最终成绩为88分。

Python计算山东新高考选考科目卷面原始成绩为等级成

在下面的程序中,首先生成70万条数据模拟考生原始成绩与总分,然后对物理、化学、生物三门选考科目的成绩进行赋分,并重新计算总分。把原始成绩和赋分后的成绩写入同一个Excel文件中两个不同的工作表。

参考代码:

运行结果:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档