pandas对每十行做批量操作_Pandas操作excel,用十行代码完成统计表
老师要求对本学期的考试成绩进行汇总,其中形势课是考查课,其它均为考试课。
提出了一下要求:
(1) 求出每位同学的平均分,保留两位小数位数。
(2) 假定每门考试课权重是 0.75,考查课权重为 0.25,试求每位同学的加权平均分, 结果四舍五入为整数。
(3) 求出每位同学的总分。
(4) 分别将男、女生的成绩保存在数据集 Dmale.csv 和 Dfemale.csv 中。
老师给出的成绩表结构如下:
我们使用pandas来进行操作。
代码如下:
import pandas as pd #导入pandas
df=pd.read_excel(r'C:甥敳獲AdministratorDesktop头条PY03numpycj.xlsx')#读取文件
col_list =list(df)#新建一个列表
col_list.remove('学号')#在列表中删除列
col_list.remove('性别')
df['合计']=df[col_list].sum(axis=1)#根据列表中剩下的列进行合计
df['平均分']=df['合计']/5#求平均分
col_list.remove('形势')#删除列表中的考察科目
df['总分']=df[col_list].sum(axis=1)*0.75+df['形势']*0.25#考试科之和的75%+考察课成绩的25%
male=df[(df['性别']==1)]#选择dataframe里面的男生
female=df[(df['性别']==0)]#选择女生
female.to_csv(r'C:甥敳獲AdministratorDesktop头条PY03numpyFemale.csv')#导出文件
male.to_csv(r'C:甥敳獲AdministratorDesktop头条PY03numpyDmale.csv')#导出文件
完成