大数据 爬虫Python AI SqlPython学习分享

用Python分析了582个专业,1281个本科院校,告诉你怎么

2019-06-24  本文已影响25人  烟雨丿丶蓝

就在前两天,教育部发布了最新的全国高等学校名单。

image

于是乎,所谓的野鸡大学也就无处躲藏了。

也给广大的高考生在填报志愿的时候,提供了一个参考。

image

{图源:破冰行动}

当然本次不讨论这个...

最新发布的名单没有本科院校的数量,于是小F找了2018年的数据。

image

1243所本科院校,和本次获取到的数据「1281个」基本差不多。

Python学习交流群:835017344,这里是python学习者聚集地,有大牛答疑,有资源共享!有想学习python编程的,或是转行,或是大学生,还有工作中想提升自己能力的,正在学习的小伙伴欢迎加入学习。


下面展示一下数据。

image

包含了专业名称,开设此专业的院校数量,及每年的就业率,最后是每年毕业生数量。

image

5万多条院校开通专业的数据,涵盖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个本科专业位居榜首。

接下来看一下校名包含学院的学校有多少所。

image

829所,占比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

师范和科技,妥妥的扛把子。

讲了半天,最后该如何选择呢?

当然是想去哪就去哪(分数高),冥冥之中,自有天意~

上一篇 下一篇

猜你喜欢

热点阅读