中国人民大学2018年研究生考试数据分析"/>
中国人民大学2018年研究生考试数据分析
导入模块,解决画图中文显示问题
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pandas.plotting import scatter_matrix
import seaborn as sns
%matplotlib inline
sns.set_style()
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
数据来源于爬虫,详见前面博客
data = pd.read_excel("RUC2018.xlsx")
data.head()
学院招生人数分布
data.college.value_counts()
data['college'].value_counts().plot.bar(figsize=(15,5))
全日制和非全职人数比例
data['day'].value_counts().plot.bar()
考研初始成绩分布
data['score1'].plot.density(figsize=(15,5))
发现分数分布有两个峰,很自然想到用分数300来分类,对于小于300分的学院
data2=data[data.score1<300]
data2.head()
data2['college'].value_counts().plot.bar(figsize=(10,5))
data2['day'].value_counts().plot.bar(figsize=(10,5))
主要是商学院MBA,公管学院管理专硕,商学院会计,和信息资源管理,大部分为非全日制研究生。
感兴趣的主要是初始成绩大于300
aim=data[data.score1>300]
aim.head()
aim['score1'].plot.density(figsize=(15,5))
以下是初试分数分布,可以看出, 峰值大概在360左右
这是查看初始成绩,复试成绩,总成绩的统计分布
df = pd.DataFrame([aim.score1,aim.score2,aim.totial],index=['pre_examine', 're_examine','final_score'])
df = df.T
df.head()
df.describe()
总共统计1576名录取考生信息,初试平均分为372分,前50%的成绩为373分,这是一个相当高的分数
下面查看低于360分的数据信息,和高于平均分数373分的数据信息
min_data=aim[aim.score1<360]
min_data.head()
min_data['college'].value_counts().plot.bar(figsize=(15,5))
下面是分数低于360的学院信息,可以看出,大部分都不是热门专业,这个只占25%
min_data['day'].value_counts().plot.bar()
min_data.describe()
共380个数据
min_data['score1'].plot.density()
下面查看初始成绩大于373分的数据
max_data=aim[aim.score1>373]
max_data.head()
max_data.describe()
总共774个数据,平均分390分,这是很可怕的数据
查看学院分布
基本可以看出财政金融和经济学院共220分数大于373分
最后是一个总体数据分析
df = pd.DataFrame([aim.score1,aim.score2,aim.totial],index=['pre_examine', 're_examine','final_score'])
df = df.T
df.head()
df.describe()
df.hist(figsize=(15,5))
df.plot(kind='density', subplots=True, layout=(2,2), sharex=False, figsize=(15,10))
箱线图
df.plot(kind='box', subplots=True, layout=(2,2), sharex=False, sharey=False, figsize=(15,10))
最后是一个总成绩,初始,复试的相关矩阵图
def plot_corr_map(df):corr=df.corr()_,ax=plt.subplots(figsize=(12,10))cmap=sns.diverging_palette(220,10,as_cmap=True)_=sns.heatmap(corr,cmap=cmap,square=True,cbar_kws={'shrink':0.9},ax=ax,annot=True,annot_kws={'fontsize':12})
plot_corr_map(df)
更多推荐
中国人民大学2018年研究生考试数据分析
发布评论