数据分析实战(一):2019北大软微考研初试分析

2019考研的初试成绩陆续放出,也是几家欢喜几家愁。

北大确实公平公正公开,所有成绩,排名在其研招网均能悉数找到,下面选取了较为热门的北大软件与微电子学院考研初试成绩进行数据分析。

导入excel文件生成DataFrame,观察其形状以及部分示例

data=pd.DataFrame(pd.read_excel('软微2019成绩.xlsx'))

print(data.shape)
print(data.head)

得知共有3259项数据,即3259名考生,共有15个列索引项,包含各科成绩,科目代码,总分等等

下面对数据进行清洗:

data=data.drop(['政治','外语','报名号'],axis=1)
for i in range(73):
    x=3328-i*38
    data.drop([x],inplace=True)

data=data[~data['政治分'].isin(['缺考'])]
data=data[~data['外语分'].isin(['缺考'])]
data=data[~data['科目1分'].isin(['缺考'])]
data=data[~data['科目2分'].isin(['缺考'])]

由于从官网上下载的文件按页分,每页都带有列索引,因此将列索引去除,并把所有未能完成所有考试的考生剔除,删去无关列

发现共有2828个完成了所有考试,弃考比例约为13.22%

下面重点关注计算机专业以及软件工程专业

提取出新DataFrame中的计算机以及软件工程的考生成绩信息,并按总分高低进行排序

technology=data[(data['专业名称']=='计算机技术')]
computer=data[(data['专业名称']=='计算机技术')&(data['科目2']=='计算机基础综合')]
soft=data[(data['专业名称']=='软件工程')]

s1=soft.sort_values('总分',ascending=False)
s1=s1.reset_index(drop=True)

c1=computer.sort_values('总分',ascending=False)
c1=c1.reset_index(drop=True)

获得前十名的成绩并绘制成折线图

computer_top_ten.set_index('考生编号')
#print(computer_top_ten)
line1=Line("计算机前十名")
i=computer_top_ten['考生编号']
j=computer_top_ten['总分']
attr1=list(map(str,i))
v=list(j)
line1.add("",attr1,v,is_smooth=True,mark_line=["max","average"])
page.add(line1)

前十名均超过400分,实力不容小觑

软件的最高分更高,高分段整体略低于计算机

下面是整体成绩的均值,标准差,各门成绩最大最小值等等

计算机:

均分:

标准差:

count为总共考生数目,unique表示不同的分数种类,top表示分数众数,freq表示最多同分人数

各门的最高值:

各门的最低值:

(竟然有交白卷的同学。。)

软件工程:

均分:

标准差:

count为总共考生数目,unique表示不同的分数种类,top表示分数众数,freq表示最多同分人数

各门的最高值:

各门的最低值:

从上面的具体统计数据来看,政治果然是区分度最小的一门学科,科目1也就是数学一,区分度最高,难度也最高,相比较而言计算机考生的整体成绩优于软件工程的考生

接下来了解一下考生们的成绩分布

computer['成绩分段']=pd.cut(computer['总分'],[1,100,200,250,290,310,330,350,370,390,410,430,450],
        labels=['0-99分','100-199分','200-249分','250-289分','290-309分','310-329分','330-349分','350-369分','370-389分','390-409分','410-429分','430-449分'],right=False)


bar1=Bar('计算机总体成绩分布')
score_total = computer['成绩分段'].value_counts().sort_index()

line2 = Line("", width=700)
bar1.add("", score_total.index, score_total.values, bar_category_gap='40%', label_color = ['#130f40'],mark_line=["max","average"])
line2.add("", score_total.index, score_total.values+5, is_smooth=True)

overlap = Overlap(width=700)
overlap.add(bar1)
overlap.add(line2)
page.add(overlap)

通过分组切片的方式进行划分,同时绘制直方图与折线图

考生人数最多的分数段是100-199分,想必其中很大一部分是在职考生,并没有完全投入到学习当中,也可以清楚地看到310-389分区间内人数众多,大家都有可能在复试中脱引而出。

推测的进复试人数及分数线

计算机大概率进复试的人数: 差额比1:1.2,150*1.2=180,根据排序得第180名的成绩为353分,显然今年的成绩在一定程度上可以用“爆炸”二字来形容

反观软工,今年可能是比较水的一年,大概率进复试的人数约为57人,根据排序得第57名的成绩为318分

历史要发生改变啦,肉眼可见的软微生源越来越好!

 

都说数学是理工科的基础,那么数学与计算机专业课成绩之间是否有所相关呢

 

完整的代码可见我的github:    github.com/librauee,希望考研的同学们都有一个好的结果!

  • 19
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值