泰山科技学院 山东省泰安市 271000
摘要:第三次信息化浪潮涌动,大数据时代已来,大数据对社会各行各业均产生深远的影响,大数据决策成为一种新的决策方式。以Python开发为基础,简述数据分析及可视化常见方法和基本流程。
关键词:大数据;数据分析;数据可视化;Python
大数据时代已经到来,当前社会数据增长达到PEZ级别,呈现一个指数型的增长趋势[5],大数据对整个社会都具有深远影响,特别是对思维方式的影响。利用数据解决问题的思维模式-数据思维,开启人类社会利用数据价值的崭新时代[1]。
大数据(big data),是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的海量数据的整合。大数据4V特征,即数据量大(Volume)、数据类型多(Variety)、处理速度快(Velocity)以及价值密度低(Value)[2]。大数据的5V特点,补充Veracity(真实性)。
维克托·迈尔·舍恩伯格在《大数据时代:生活、工作与思维的大变革》一书中指出“全样而非抽样”、“效率而非精确”、“相关而非因果”大数据时代的新思维方式[3]。大数据技术促进企业或个人,通过分析数据获得的信息做出决策。对实际应用场景深入了解,明确决策需求,保证数据分析结果高价值性。
在数据分析时,数据预处理环节是分析结果可靠性的重要保障。目前主流的大数据处理架构Hadoop、Spark,采用分布式存储系统,结合机器学习和数据挖掘算法,可对海量数据进行并行分析与处理[2]。
数据可视化是将抽象的“数据”转换成图形、图像,以可见的形式表现出来,以帮助人们更为直观地理解和利用数据[6]。
很多编程语言都可以完成数据分析及可视化工作,综合考虑Python语法简练、丰富的库、功能强大、通用性强等特点,选择Python开发环境完成数据处理工作。
Python开发者普遍选择集成开发环境PyCharm IDE,具有代码调试、高亮标注以及项目管理等功能,但是在数据分析场景下,可能面临不停安装计算包的繁琐工作;Anaconda是主要用于科学计算的Python发行版,包含大量常用的科学包,给数据分析人员带来极大便捷。
在创建包含了numpy、matplotlib、pyecharts等包的虚拟环境之后,通过jupyter notebook命令启用Jupyter Notebook界面,便可在Web页面完成代码编辑、运行、结果呈现。注意命令窗口若关闭,WEB页面将会与本地服务器断开而导致无法操作。
目前各领域数据生成量巨大,除了直接获得数据之外,通常利用网络爬虫技术,按照需求内容自行爬取网站中公开的数据,保存到本地.csv文件中。利用pd.read_csv()函数加载数据文件,为后续做好准备。
高质量的数据得到的数据分析结果才有意义,不规范的数据,如空值、不一致值、重复值、不合法的值等等对后期分析结果很有可能造成偏差。常见处理如下:
单位统一。利用replace()方法将不同的单位描述进行统一。例如户型单位可能会有“房间”、“室”等,统一规范为“室”。
去除重复数据。数据信息中不可避免会存在重复信息,利用drop_duplicates()方法快速实现删除重复数据。
填充缺失值。NumPy中缺失值NaN,NAN,nan均表示毫无意义的数据,若直接删除可能会损失信息,多采用填充方式。对于非时间序列,采用常量、统计量值替换;对于时间序列,采用就近插补、线性插补、K最近距离邻法插补以及更加科学的机器学习算法进行填充。
统计分析是数据分析基本的操作,特别是分组和聚合。常见方法是利用groupby()分组,用agg()做均值、标准差、方差等聚合。该方法灵活,不仅可以进行单列分组、单列单统计值,也可以进行多列分组、多列多统计值;另外一种方法是采用数据透视表pivot_table()函数,类似Excel中的透视表,同样可以实现分组聚类的功能。
大数据分析,离不开机器学习技术。主要涉及如K近邻算法、贝叶斯分类、决策树与随机森林以及逻辑回归等算法[4]。
数据展示图形类别丰富,满足不同的场景。折线图展示发展趋势,散点图展示数据的分布情况,柱状图和直方图展示数据间对比情况,面积图、饼图、堆积柱状图展示部分与整体之间关系,目前流行的气泡图、词云图展示数据频率[7]。Python常用下列绘图库可以完成上述图形的绘制。
Matplotlib通过设置较多的参数,展示图形更为精细。
Pandas展示图形十分多样,例如条形图、折线图、直方图、饼图等常见图形,以及蜂巢图、堆叠图等。
Seaborn在Matplotlib基础上进行了更高级的API封装,可以通过设置颜色、形状、大小等一张图中绘制多变量。对鸢尾花Iris数据集可视化,选择品种作为类别变量,通过pairplot()函数将所有成对数值关系一次性进行绘制。代码及运行结果如下:
fig=sns.pairplot(tips,hue='species')
图1 Iris数据集可视化
Pyecharts可以绘制非常酷炫的词云图、气泡图、圆环图等。例如用词云图直观展示热门租房小区分布情况。
图2 热门租房词云图
数据可视化技术实现多样的图表类型展示,便于直观发现数据中隐含的信息。
经过分析处理后得到的大数据结果帮助企业管理者或个人更好地做出决策,大数据已经成为支撑经济监测预测的重要手段[8]。大数据引起的新的思维方式将影响金融、教育、医疗等诸多领域。
参考文献
[1] 杜小勇.数据科学与大数据技术导论[M].人民邮电出版社,2021.
[2] 林子雨.大数据技术[M].人民邮电出版社,2021.
[3] 维克托·迈尔·舍恩伯格.大数据时代:生活、工作与思维的大变革[M].浙江人民出版社,2013.
[4] 吴振宇,李春忠,李建锋.Python数据处理与挖掘[M].人民邮电出版社,2020.
[5] 牛长春,王福超.大数据技术的演进与发展历程[J].电脑知识与技术,2021,5:35-37.
[6] 沈恩亚.大数据可视化技术及应用[J].科技导报, 2020,3:68-83.
[7] 李俊华.基于Python的数据可视化[J].新型工业化,2021,3:69-70.
[8] 于施洋.构建“国家经济大脑”的技术框架与应用探索[J].数据分析与知识发现, 2020,7:1-1.
作者简介:
姚梅玲(1990-),女,山东省泰安市,硕士研究生,主要研究方向为数据采集与信息处理等。
3