需求
现有一批成绩,要求统计每名学生的总成绩并添加“总分”列,统计各科成绩的平均分和标准差并添加相应行。
要点
结合pandas.apply
函数和轴方向对行列进行统计。
实现
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
#读取数据
score = pd.read_csv('./student_score.csv',encoding = 'gbk')
#展示数据
score
#按行求和,添加总分列
score["总分"] = score[['高数','英语','Python']].sum(axis =1)
#score["总分"] = score[['高数','英语','Python']].apply(lambda x:x.sum(),axis =1)
score
score.loc['合计']=score[['高数','英语','Python','总分']].sum(axis=0)
score.loc['平均分']=score[['高数','英语','Python','总分']].mean(axis=0)
score.loc['标准差']=score[['高数','英语','Python','总分']].std(axis=0)
score