就在前两天,教育部发布了最新的全国高等学校名单。
image于是乎,所谓的野鸡大学也就无处躲藏了。
也给广大的高考生在填报志愿的时候,提供了一个参考。
image{图源:破冰行动}
当然本次不讨论这个...
最新发布的名单没有本科院校的数量,于是小F找了2018年的数据。
image1243所本科院校,和本次获取到的数据「1281个」基本差不多。
Python学习交流群:835017344,这里是python学习者聚集地,有大牛答疑,有资源共享!有想学习python编程的,或是转行,或是大学生,还有工作中想提升自己能力的,正在学习的小伙伴欢迎加入学习。
下面展示一下数据。
image包含了专业名称,开设此专业的院校数量,及每年的就业率,最后是每年毕业生数量。
image5万多条院校开通专业的数据,涵盖11大类,582个专业,1281个本科院校。
接下来就来分析一波,先对学科进行分组。
<pre style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; font-size: inherit; color: inherit; line-height: inherit;">
from wordcloud import WordCloud, ImageColorGenerator
import matplotlib.pyplot as plt
import pandas as pd
import jieba
设置列名与数据对齐
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
显示15行
pd.set_option('display.max_rows', 15)
读取数据
df = pd.read_csv('message.csv', encoding='gbk', header=None, names=['subject', 'major', 'school'])
学科分类
df_subject = df.groupby('subject').count().reset_index().sort_values(by='school')
print(df_subject)
获取列表数据
list1, list2 = [], []
for i in df_subject['subject']:
list1.append(i)
for j in df_subject['school']:
list2.append(j)
print(list1)
print(list2)
</pre>
获得数据如下。
image利用获取的两个列表数据进行可视化。
image这里「工学」位居第一,也和当下时代的发展相契合。
传统点的就是工业4.0,智能点的就是人工智能。
无不和「工学」息息相关。
接下来对专业进行分析。
<pre style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; font-size: inherit; color: inherit; line-height: inherit;">
专业分类
df_major = df.groupby('major').count().reset_index().sort_values(by='school')
print(df_major)
获取列表数据
list1, list2 = [], []
for i in df_major['major'][-10:]:
list1.append(i)
print(list1)
for j in df_major['school'][-10:]:
list2.append(j)
print(list2)
</pre>
得到结果如下。
image专业TOP10出炉,也能以供参考。
照例还是使用现成的模板,方便多了...
image最终结果如下。
image开设英语的本科院校达到了1001所,接近院校总数的80%了。
不过网上对英语的评价就是:英语==失业。
所以对于英语专业,需要慎重考虑。
尾随其后的是计算机科学与技术,目前的大热门。
当然是不是修电脑我就不清楚了,相信关注小F公众号的小伙伴们,都能感受到计算机的魅力。
令人失望的是,小F就读的大机械居然没上榜,惭愧呀。
想当初「机械机械,压倒一切」,真不是瞎吹的。
一入机械深似海,从此妹子是路人。
这句也不假,说多了都是泪~
下面统计院校总数,并获取校名包含学院的院校数量。
<pre style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; font-size: inherit; color: inherit; line-height: inherit;">
对学校进行分组
df_name = df.groupby('school').count().reset_index().sort_values(by='subject')
print(df_name)
输出包含学院的校名
print(df_name[df_name['school'].str.contains('学院')])
</pre>
得到院校总数以及哪所学校的专业最多。
image嗯,1281所本科院校。
其中贵州大学以164个本科专业位居榜首。
接下来看一下校名包含学院的学校有多少所。
image829所,占比64.7%,那么剩下的差不多都是大学了。
学院变大学(校名),这也是每年好多高校一直在做的事情。
毕竟一个霸气的校名,也能吸引不少考生报名。
最后生成一个校名词云图。
其中需要去掉「大学」和「学院」这两个关键词。
<pre style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; font-size: inherit; color: inherit; line-height: inherit;">
def create_wordcloud(df):
"""
生成校名词云
"""
# 分词
text = ''
for line in df['name']:
text += ' '.join(jieba.cut(line, cut_all=False))
text += ' '
backgroud_Image = plt.imread('school.jpg')
wc = WordCloud(
background_color='white',
mask=backgroud_Image,
font_path='C:\Windows\Fonts\华康俪金黑W8.TTF',
max_words=1000,
max_font_size=150,
min_font_size=15,
prefer_horizontal=1,
random_state=50,
)
wc.generate_from_text(text)
img_colors = ImageColorGenerator(backgroud_Image)
wc.recolor(color_func=img_colors)
# 看看词频高的有哪些
process_word = WordCloud.process_text(wc, text)
sort = sorted(process_word.items(), key=lambda e: e[1], reverse=True)
print(sort[:50])
plt.imshow(wc)
plt.axis('off')
wc.to_file("校名词云.jpg")
print('生成词云成功!')
去除大学
df_name = df_name['school'].str.replace('大学', '')
dict_name = {'name': df_name.values, 'numbers': df_name.index}
df_name = pd.DataFrame(dict_name)
去除学院
df_name = df_name['name'].str.replace('学院', '')
dict_name = {'name': df_name.values, 'numbers': df_name.index}
df_name = pd.DataFrame(dict_name)
生成校名词云图
create_wordcloud(df_name)
</pre>
得到结果如下。
image师范和科技,妥妥的扛把子。
讲了半天,最后该如何选择呢?
当然是想去哪就去哪(分数高),冥冥之中,自有天意~
网友评论