当前位置:首页>python>14行Python代码轻松搞定成绩比例等级划分,批量处理原来如此简单

14行Python代码轻松搞定成绩比例等级划分,批量处理原来如此简单

  • 2026-10-25 14:09:27
14行Python代码轻松搞定成绩比例等级划分,批量处理原来如此简单
作为老师或销售的你是否遇到过这样的瞬间:一堆堆需要重复操作的表格让你操作到手软。
比如,成绩按比例划分等级,明明只是要给成绩按比例评出A、B、C、D等级,却要对着Excel表格反复筛选、计算百分位,熬夜加班容易出错还不说,这种重复劳动简直能让人发狂。
最近就有一位网友求助,需要按科目成绩划分等级,成绩前30%的转换成A,31%-65%转换成B,66%-90%转换成C,最后10%转换成D。空单元格为缺考,成绩按0分处理,算在最后10%。
每门学科都要单独计算出不同比例的分界线,这种按成绩比例分等级是教育工作者最常见的头疼问题,看似简单的问题,背后却是重复劳动的艰辛。
其实,这种批量的活交给Python是最合适不过,十几行代码就能写出一个简单直接的解决方案。
import pandas as pdpath = "成绩名单.xlsx"df = pd.read_excel(path)col_list = df.columnskemu_list = col_list[3:]for kemu in kemu_list:    if pd.api.types.is_numeric_dtype(df[kemu]):        df[kemu] = df[kemu].fillna(0)        q70 = df[kemu].quantile(0.7)   #前30%        q35 = df[kemu].quantile(0.35)  #前65%        q10 = df[kemu].quantile(0.1)   #前10%        df[f"{kemu}等级"] = pd.cut(df[kemu], bins=[0,q10,q35,q70,150],labels=["D","C","B","A"],include_lowest=True)df_dj =df.drop(kemu_list, axis=1)df_dj.to_excel("成绩名册_分等级.xlsx",index=False)

代码解析,新手也能轻松上手

第1行:导入pandas模块,pandas是处理数据的神器。如果没有安装可使用以下命令安装:pip install pandas。
第2行:定义文件需要处理的路径。
第3行:用pd.read_excel()函数读取Excel文件,把表格存入到df。默认的是第一个工作表,第一行为标题行。
第4行:df.columns可以获取表格所有的列名,如姓名、座位号、班级等,并存入到col_list列表中,为后续筛选科目做准备。
第5行:col_list[3:]筛选科目列表的关键,前三列为班级、座位号和姓名。从第4列(对应索引为3)起是各科成绩,也就是需要处理的所有科目,存入到kemu_list中。
第6行:遍历筛选出所有科目,逐个处理每一门的成绩。
第7行:if pd.api.types.is_numeric_dtype(df[kemu])作用是判断当前科目列是否为数值类型,避免因表格中存在非数值数据导致代码出错。
第8行:df[kemu] = df[kemu].fillna(0)将空值填充为0。可选代码,如果没有这句代码,空值输出的仍为空值。
第9-11行:计算百分位,这是实现按比例划分等级的核心。df[kemu].quantile(0.7)表示获取该科目成绩的70%的分位数,即前30%。
第12行:使用pd.cut()函数划分等级并生成新列。df[f"{kemu}等级"]是生成新的列名。
  • bins=[0,q10,q45,q70,150]是定义成绩区间,最低分为0分,最高分为150分。
  • labels=["D","C","B","A"]是为每个区间定义对应的等级标签。
  • include_lowest=True表示包含区间的最小值,避免出现0分无法被划分等级的情况。
第13行:df.drop(kemu_list, axis=1)删除原始科目列,只保留班级、座位号、姓名和新生成的科目列。
第14行:df_dj.to_excel()将处理好的数据保存为新的Excel文件。index=False表示不保存自动生成的索引列。
有人也许会说Excel也有计算百分位的自带函数。其实,工具的选择取决于你的任务本质。当面对重复性、大批量任务时,编程自动化解决方案就显示出其明显优势。这段代码只要稍做修改,就可以应用于各种需要按比例划分的场景。
如果这段代码对你有所启发,别忘了点赞+转发,让更多的朋友看到这篇文章,一起高效办公,一起快乐摸鱼~~~

最新文章

随机文章