陈芷萱 申艳玲 程小黎
摘要:随着大数据时代的日益发展,python语言的使用率呈线性增长,其中在数据分析与处理上更是应用广泛。本文利用matplotlib库、pandas库等第三方库对本校青年大学习的数据进行可视化分析,并利用WordCloud库对大家学习的感受以词图云的方式展示,为分析青年大学习给大学生带来的影响提供依据,并对学院学习的情况做一个真实的反馈,方便各个班级及时调整学习方式,引起对青年大学习的关注。
关键词:数据分析;可视化;DataFrame;WordCloud
引言
青年大学习是共青团中央为把组织引导广大青年深入学习宣传贯彻习近平新时代中国特色社会主义思想和党的十九大精神持续引向深入而组织的青年学习行动。目的是为了引导广大青年“不忘初心、牢记使命”,坚定不移听党话、跟党走。但是如何才能知道学生对于大学习之后的感想以及学习率的波动状态,是很多大学习负责人想解决的问题。本文利用python语言以及多个库的使用,对本院青年大学习数据进行多维度的分析,并通过可视化图形进行清晰地展示,为班级负责人及领导提供学习情况反馈,以引起大学生对于青年大学习的广泛关注。
2.基于python的数据导入与处理
2.1 pandas库中DataFrame的运用
数据导入需要在Anaconda Prompt 中安装pandas库,pandas库为python语言提供了高性能、易于使用的数据结构和数据分析工具表, DataFrame对象是Pandas库中最主要的数据结构之一,安装好Pandas库后利用DataFrame对象导入数据(2021年2019级管理学院青年大学习情况表.xlsx),关键代码如下:
import pandas as pd #引入pandas库
import matplotlib.pyplot as plt #引入matplotlib库,后续做图像处理
import matplotlib
df=pd.read_excel(r'D:\2021年2019级管理学院青年大学习情况表.xlsx') #利用DataFrame导入数据
2.2 数据清洗与处理
导入的数据可能原始数据会出现一些问题,为了方便制图和分析可以对数据进行清洗和处理。利用DataFrame对象对平均学习率进行排名。关键代码如下:
group=df.groupby('专业') #以‘专业分组
avg=group.mean() #求平均值
df1=avg['平均学习率'].round(2) #保留两位小数
df1=avg.sort_values(by=['平均学习率']) #以‘平均学习率排序
df1['排名']=list(range(1,13)) #增加‘排名列
3.青年大学习学习情况可视化分析
3.1 用折线图呈现学习情况
Matplotlib库是Python的第三方库,有着非常多的可视化绘图类,内部结构复杂,这里利用matplotlib中非常便捷的绘图子模块pyplot来进行图形绘制和分析。然后观察取平均学习率前6名绘制折线图,折线图可以清晰地反映2021年第一學期该学院的学习波动情况,是否平稳可以间接的反映各个专业的认真程度。
关键代码如下:
matplotlib.rcParams['font.family']='Kaiti' #为了在绘制图表中支持中文显示,设置字体为黑体
avg.loc['2019级研究生'].plot(kind='line',color='green',title='各专业学习情况',marker='*') #筛选‘2019级研究生行,设为线性,绿色,标题为‘各专业学习情况,数据标记为‘*
…
plt.ylim(0,1) #设置y轴区间
plt.xlim(0,9) #设置x轴区间
plt.legend(["2019级研究生","2019级会计学(ACCA)","2019级市场营销","2019级会计学","2019级物流管理","","2019级物流工程"])#添加图例
3.2 用词云图分析大学生对青年大学习的学习状态
青年大学习对于大学生的影响情况以及学习的真实反馈对每个院校甚至共青团中央都有价值,在这里运用Python语言中WordCloud库呈现青年大学习评论中频率较高的“关键词”。这里用WordCloud文本生成的方法,主要步骤:下载和安装WordCloud库的安装包,准备评论文本以及想生成词云的形状(喜欢的图片),引入WordCloud库,定义一个新的函数,最后设置变量就可以呈现词云。
从图形上看, “太棒了”、“自强”等词汇非常显眼,说明大部分人从青年大学习中学习新思想有非常正面的引导,青年大学习是可以提高政治觉悟和理论修养的。词云图的关键代码如下:
def get_cloud(word_counts,i): #定义函数
img = Image.open(r'./tree3.jfif')
img_array = np.array(img) #将图片变为数组
wc = WordCloud(
background_color = 'white', # 背景颜色
mask = img_array, #遮罩图片
font_path = 'msyh.ttc' #字体样式
)
wc.generate_from_frequencies(word_counts) #生成词云图
fig = plt.figure(1)
plt.imshow(wc) # 显示词云
plt.subplots_adjust(top=0.99, bottom=0.01, right=0.99, left=0.01, hspace=0, wspace=0) #调整边框
plt.savefig(r'./movie{0}.jpg'.format(i),dpi = 500) #保存图片
words = []
with open('./word.txt','r',encoding='utf-8') as f:
…
总结
本文利用Python语言以及第三方库对院校青年大学习学习情况进行分析,对数据进行清洗和整理,使用图表和词云图等对数据进行可视化呈现,于此为青年大学习负责人以及大学生提供更加直观的信息,学习反馈有助于解读大学生真实的思想状况。这样的数据分析可用于多数具有数据表格和评价体系的事物上,多维度解读数据,发现数据的规律和特征。下一步,可以对每一种分析建立相应的程序,使之更加便捷的处理数据,为各种需要通过数据分析的平台提供更大的帮助。
参考文献
[1]赵璐,孙冰,蔡源,陈东 Python语言程序设计教程
[2]徐勤亚,网页设计在平面设计中的应用[J].安徽财经大学管理科学与工程学院
[3]胡非,韩永辉,许超,周巧妮,基于 Python 的可视化工具研究与应用 [J]. 工程技术研究,2018(13):25-26
[4]贾柠瑜.基于 python 爬虫的岗位数据分析--以拉勾网为例[J].信息技术与信息化,20 1 9,4:6 4-6 6
作者简介:1陈芷萱(出生年份—2001),女,藏族,四川平武,学生,本科,西华大学,工业工程专业,研究方向:大数据分析
2申艳玲(出生年份—2000年),單位:西华大学,人力资源专业
3程小黎 (出生年份—2000) 西华大学 工业工程专业