临近期末,要整理很多材料其中就有对成绩的分析。我们可以用pandas的强大功能来实现,避免人为统计失误。比如我要分析 某一班级成绩,要想要求出班级的,最高分,最低分,平均分,以及每个分数段成绩分布情况。我们可以这么做。
首先读取想要班级成绩:
import pandas as pd
# 读取 Excel 文件
data1 = pd.read_excel('c:/Users/plzy5/Desktop/投资学1-2班.xls')
我们可以先看一下数据长什么样子:
data1.head()
然后我们可以进取其中的要分析的数据列,用iloc方法:
data2 = data1.iloc[:, 3:7]
选取数据之后,我们就可以用describe()方法查看一下统计数据:
data2.describe()
之后定义成绩段:
bins = [0, 60, 70, 80, 90, 100]
labels = ['不及格', '及格', '中等', '良好', '优秀']
将成绩划分到不同的成绩段:
data2 = data2.apply(lambda x: pd.cut(x, bins=bins, labels=labels, right=False))
最后,将成绩统计到不同分数段并输出:
grade_counts = data2.apply(lambda x: x.value_counts()).T
评论 (0)