Python数据可视化的优势
——以《三国演义》为例

2023-11-29 09:47李文娟
中国教育技术装备 2023年19期
关键词:词云三国演义可视化

李文娟

甘肃省定西市安定区教育局 甘肃定西 743000

0 引言

在数据科学、人工智能、大数据分析等迅猛发展的当前,数据可视化的方法不胜枚举,数据可视化的目的主要是直观展示信息的分析结果和构思,使大量抽象的数据具象显示。国外常用的数据可视化工具有Visual Eyes、Google Trends、Many Eyes、Grasshopper、WebGL 等,国内常见的数据分析工具有Excel 数据图表分析、SPSS 在线(软件)数据分析、CiteSpace 可视化文献分析、Python 第三方库数据可视化等。本文以Python 语言数据可视化的过程为例,展现Python 强大的数据分析及可视化功能。

1 大数据时代数据可视化成为发展趋势

1.1 大数据的时代背景

奥地利科学家维克托·迈尔-舍恩伯格是最早洞见大数据时代发展趋势的数据科学家之一,2012年他在《大数据时代》中前瞻性地指出,大数据带来的信息风暴正在变革我们的生活、工作和思维方式。国际互联网数据中心预测,2025年全球每年产生的数据将达到175ZB,如果把175ZB 全部存在DVD 光盘中,那么DVD 叠加起来的高度可以绕地球222 圈。在如此海量的数据中,如何快速便捷地展现和发掘其中的价值,是一个巨大的挑战。大数据时代信息量暴增,高效地获取数据成为人们最关注的问题,也将成为未来研究的趋势。

1.2 数据可视化的发展历程

数据可视化的发展可追溯至20世纪50年代计算机图形学的早期。在中国知网学术平台上,以“数据可视化”为主题词检索发现,最早在1993年有一篇数据可视化的研究报告,文中提到1986年美国提出科学计算可视化的概念,在国际上引起广泛重视。从20世纪90年代开始,国内一些高校和研究所相继开展了可视化技术的研究[1]。根据知网发文年度趋势表可知,从1993年至今,有关数据可视化的文献数量逐年增多,尤其从2012年开始增长速度加快,在2020年达到峰值,至今研究热度一直未减。

1.3 数据可视化的典型工具

表1 中简述了当前常用的6 种数据可视化工具,它们在各自的应用领域有独特的功能优势,Visual Eyes 常用于可视化教学;Google Trends 应用于全球新闻等各类信息的可视化;Many Eyes 用于展现在线的可视化社区信息;Grasshopper 在建筑信息可视化方面更占优势;WebGL 是一个不需要组件加载的网络三维可视化技术;Cite Space 在论文热点研究可视化方面功能强大。相较这些技术手段,Python 的应用领域更为广泛,发展前景更好。

2 Python数据可视化的优势

2.1 Python是一门功能强大及应用广泛的编程语言

Python 是Guido van Rossum 在1990年开发的一个轻语法、弱类型的高级编程语言软件,它拥有强大的第三方库,最大的优势是比其他语言更简单易学,功能强大,数据结构高效,能快速实现面向对象的编程。除了数据可视化功能,该语言也广泛支持应用程序的开发,在词云、数据可视化、数据仓库与数据挖掘、仿真系统等方面都有很多应用。在云端、网站、游戏开发、机器人、航天飞机控制、物联网终端等领域,Python 应用无处不在[8]。此外,Python 还可以利用第三方库爬取网络、网页以及网站内容,从而快速地收集所需要的信息。近年来,Python 在人工智能领域扮演着重要的角色,有很多典型的应用案例,例如:谷歌的无人驾驶、谷歌的AlphaGo 项目、微软的小冰、苹果的Siri、IBM的Watson 等[9]。

2.2 Python 具有丰富的第三方库

Python 有标准库和第三方库两类,标准库Python 安装自带,可供使用者随意使用,第三方库则需要另外下载或者在线安装。强大的标准库是基础,丰富的第三方库是强化,随着应用领域的拓展,强大的第三方库使用途径越来越广泛,在高中信息技术教材中,涉及的第三方库较多,每一个库都有一个典型的应用特例,下面通过表2 对这些库进行汇总介绍。

表2 Python 第三方库介绍

2.3 Python数据可视化的过程有章可循

通过查阅大量文献,发现利用Python 实现数据可视化的过程都有固定的模式。如戴瑗、郑传行基于Python,在爬取及分析南京二手房数据时,对数据进行采集、清洗,再对清洗后的数据进行可视化分析。翟高粤基于Python 的数据分析过程包含需求分析、数据获取、数据预处理、分析建模、模型评价与优化、部署等步骤。陈都、徐峰的创伤流行病学可视化研究包括数据导入、数据清洗、统计分析、数据可视化以及模型建立等步骤。钱贝贝、陈志波基于Python 爬虫的音乐数据可视化分析过程包含数据采集、数据预处理、数据分析和可视化展示等步骤,研究隐藏在这些海量数据背后的规律。本文将借鉴高中信息技术教材中数据处理的过程进行数据可视化研究,按照数据采集、数据整理、数据分析与数据可视化四个步骤,展示Python数据可视化的过程。

3 Python数据可视化的过程

基于《三国演义》小说文本,利用Python 实现文本和数值数据可视化。首先用词云将文本数据可视化,主要利用jieba 库分词统计、imageio库导入图像、WordCloud 库生成词云功能;其次用图表将数值数据可视化,在第一步的基础上,采集jieba 分词统计出来的高频人物词,利用CSV 文件处理,利用pandas 库中的函数read_csv()读取,利用NumPy 库指定生成柱状图的列数,利用Matplotlib 库中pyplot 函数绘制柱状图。

Requests 库和Beautiful Soup 库在《普通高中教科书·信息技术必修1 数据与计算》教材中没作介绍,教材涉及的相关内容主要是网络爬取数据这一内容的拓展,向学生展示爬虫爬取数据的原理与过程,本文将不再赘述。

3.1 用词云将数据可视化

3.1.1 数据采集与整理

数据采集主要是明确数据需求、确定数据来源、选择数据采集的方法。选择处理的对象是《三国演义》小说文本,通过网络采集的方法,下载获取文件;数据整理是相对烦琐的一步,主要通过Word文档整拼写检查及文档校对功能校正文字,然后整理成txt 文件,放在指定文件夹中。

3.1.2 数据分析与可视化

数据分析与数据可视化既紧密联系又相互融合,此处使用结构分析法,将分析的结果以词云的形式生动、直观地呈现出来。首先使用jieba 库进行前20 个高频词统计,具体过程如图1所示,从图中可知在《三国演义》中曹操、孔明、刘备等词语出现频率很高,大概可以得出小说主要围绕这些人物展开故事。

图1 《三国演义》前20 个高频词统计

具体代码如下:

print(items[i][0],items[i][1]) #输出词和出现次数

其次在jieba 分词的基础上应用imageio 库和Wordcloud 库生成词云,具体如图2所示,通过文字大小决定词语频率,词云可以将小说出现频率较高的主要词语直观呈现出来。

图2 《三国演义》词云

具体代码如下:

3.2 用图表将数据可视化

3.2.1 数据采集与整理

此处的数据采集基于以上网络采集的文本,具体步骤是根据上面jieba 分词统计的高频词,删除与人物无关的高频词汇,只保留人物词汇,将词汇与频次统计整理在数据表格文件中并保存为csv 文件,放在指定文件夹中。

3.2.2 数据分析与可视化

为清晰显示每个高频人物词出现的数量,选择对比分析法,生成柱状图,从而直观地展示小说中出现频率较高的七位人物的频次差距,从图3 得出频率较高的七位三国人物是曹操、孔明、刘备、关羽、张飞、吕布、赵云,出现频次分别为1 451、1 383、1 252、784、358、300、278。

图3 《三国演义》前七位高频人物出现的频次

具体代码如下:

4 结论

Python作为众多数据可视化呈现的工具之一,有简洁实用等多种优势,作为三大主力编程语言榜首的Python,除了应用领域广泛外,相较其他数据可视化软件或语言,既能用图表实现数值数据可视化,也能生成词云实现文本数据可视化,这是Python实现数据可视化或者数据分析的独特优势,也是本文探索的价值所在,Python 的前景优势可归纳为以下三点。

4.1 Python 应用领域广泛

在爬虫、数据分析、机器学习等模块,Python具有巨大的潜力,强大的第三方库赋予Python 更多的应用领域,其中pandas、NumPy、 SciPy 等用于数据分析,Matplotlib 用于作图,sklearn 用于机器学习,PyBrain 用于神经网络,PyGame 用于多媒体开发和游戏软件开发,webpy 用于搭建Web 框架等。

4.2 学会Python 就业前景良好

Python 入门简单易学,从事Python 开发,工作机会很多,未来发展空间也很大,在数据科学、人工智能、网络爬虫、游戏开发和桌面应用开发等方面,相关职位种类逐渐增多,如Python 数据分析师、人工智能工程师、爬虫开发工程师、游戏软件开发工程师等。

4.3 Python 用户体验更好

未来Python 将会在功能应用方面更快更高更强,Python 本身就是一个很实用的编程软件,其标准库和第三方库非常强大,任何方向的技术编程都能找到相应的支持库,众多开发公司将它作为开发语言。近几年PyPy 解释器在不断加快Python 的运行速度,相信再过几年Python 在运行速度和开发效率方面将有很大的提升。

猜你喜欢
词云三国演义可视化
基于CiteSpace的足三里穴研究可视化分析
基于Power BI的油田注水运行动态分析与可视化展示
基于PyQt5界面的词云制作软件设计
《三国演义》骗了你多少年
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
Web文本挖掘及可视化
基于SCI文献分析的呼吸病学发展态势研究
三国演义
三国演义