基于Python的数据可视化研究
2022-04-29闫东
闫东
关键词 数据可视化 数据分析 数据挖掘
大数据具有五“V”特征,即数据量大(Volume)、速度快(Velocity)、类型多(Variety)、价值密度低(Value)、真实性(Veracity)。大数据为人类生活带来了翻天覆地的变化。面对海量的数据,如何利用大数据来推动社会的发展,如何将数据内在的信息展现出来,是数据研究的重要内容之一。数据的价值不在于数据本身,而是在于对数据的解读、分析。只有通过对数据的解读、分析,才能够挖掘数据隐藏的信息,发掘信息之中蕴含的价值和智慧。数据可视化技术是一种研究数据的重要工具,其可以有效分析和挖掘数据。
1数据可视化的概念
数据可视化通过图形等形式分析和展现数据,从而有效传达和沟通信息。数据可视化与信息图形、信息可视化、科学可视化以及统计图形密切相关。数据可视化可以利用信息图表、统计图形、图表和其他工具传递信息[1] 。
2数据可视化的意义
数据可视化是将空间或者非空间数据等各种类型的无意义的数据通过计算机图形、图像等表现出来,易于人们理解,提供启发或挖掘规律的可能。
数据可视化不仅是让数据简单的成为图表,而是以数据为基础,通过映射,实现从数据视觉的角度描述世界、探索世界。数据可视化的目的和意义是通过分析、挖掘数据的深层次信息,发现数据的规律,包括学习、探索、决策等。
3数据可视化的实现过程
数据可视化流程(图1) 包括数据获取、数据分析、数据过滤、数据挖掘、表示、修饰、界面交互等。
3.1数据获取
数据获取的方式(图2)可以分为线上采集、线下采集两种。
3.1.1线上采集
线上采集主要包括开放数据、第三方数据平台、物理数据、APP 数据等。
(1)开放数据:是一类可以被任何人免费使用、再利用、再分发的数据———在其限制上,要求署名和使用类似的协议再分发,如北京公共数据开放平台、深圳市政府数据开放平台等。
(2)第三方数据平台:通过某第三方平台提供的API 接口来调取相关数据,如Toshare 大数据开放平台等。
( 3)物理数据:通过传感器设备或者射频卡等设备进行数据采集并进行转化。涵盖气敏、力敏、磁敏、光敏、声敏等不同类别的工业传感器,收集数据少,但产生数据的频率很高。比如,在陀螺仪的使用中,记录角速度用于手机导航等行为产生的数据。
(4)APP 数据:当用户使用某个APP、Web 端应用、小程序时就会产生数据,如“浏览商品?确定?查看商品信息?放入购物车?下单?物流信息”等数据。
3.1.2线下采集
线下采集主要包括问卷调查、用户访谈、实地调研等。
( 1)问卷调查:是目前通用的调查形式,根据调研目的设计问卷,从总体样本中采用抽样方式确定调查样本,完成调查。
(2)用户访谈:是用户研究中常用的一种数据采集方式,通过使用有目的、有计划、有方法的口头交谈等方式与用户沟通,了解事实。
(3)实地调研:直接面对被调查对象,采用访问法、观察法、实验法等方法来收集信息。
采集到的数据分为三种类型,即结构化数据、非结构化数据和半结构化数据。无法定义结构的数据称为非结构化数据,常见的非结构化数据为文本信息数据、图像信息数据、视频信息数据以及声音信息数据等。
3.2数据分析
对获取的原始数据进行分析,使用对比分析、公式拆分、变化维度、结构图等方式来明确数据的意义,并根据不同类别进行排序,分析数据的价值。
3.3数据过滤
数据过滤是将数据通过软件筛选、编程等方式筛选出高质量的可用数据。一般会筛除冗余数据、重复数据和含接头的数据等。通过筛选,一方面减小数据量,另一方面提高数据的质量。
3.4数据挖掘
数据挖掘是根据数据仓库中的数据信息特性的不同,选择适合的分析工具,使用规则推理、事例推理、统计方法、决策树、模糊集、神经网络、遗传算法的方法处理信息,从而得到需要的信息。
3.5表示
表示是指将数据结合数据的维度采用合适的表示方法用一个基本的视觉模型表示出来,可以用列表、树状结构或其他方法。这个过程类似于构造一个草图,决定了可视化效果的雏形。同时,实现对数据转换过程的检验和审查,尤其是对数据的获取和过滤过程进行检验和审查。
3.6修饰
将草图进行上色,从而突出重点,弱化辅助信息,进行修饰改善,使草图清晰明了、简单有趣,使图表富有内涵、丰富美观、实用。
3.7界面交互
根据用户的特点和使用场景,制作符合使用者操作的交互界面,从而让用户能够对之前得到的数据内容和属性进行操作和提取。通过界面交互,用户可以单独研究其中一种或多种属性,而隐藏其他属性。在三维空间的可视化效果方面,通过操作视角的变化,实现对数据的不同视角的认识[2] 。之前,所有步骤主要由计算机实现,在该阶段,用户的心理发生了“被动接受到主动发现”的变化,界面交互为他们提供了控制数据和探索数据的可能。通过这一阶段,实现了将计算机的计算能力和人的智慧的结合。
4可视化应用
数据可视化技术在金融、工业生产、现代农业、医疗、教育等领域得到广泛的应用(图3)。
4.1金融领域数据可视化
利用数据可视化技术掌控企业的日常业务动态,控制客户数量、借款金额等数据,实现对数据的实时监控,通过对核心数据多维度的分析,指导公司科学运营,以提高公司运营能力。
4.2工业生产域数据可视化
(1)生產过程监控。通过可视化界面可随时监控生产设备状态、制造参数,以及车间产品计划、进度、库存、质量等信息。
(2)生产过程协同管理。通过数据可视化界面控制数据信息的传递、共享等,实现车间各工种、任务、设备的协同生产,提升车间运营效率。
(3)数据可视化。通过对企业数据的分析与处理,形成多维度的智能报表,通过分布图、趋势图等多样化图形直观、形象地展示相关数据,帮助管理者进行决策,实现精益化生产管理。
(4)追溯管理。发现问题后,通过可视化界面便捷查询历史数据等相关数据,便于快速找出原因,制订整改措施,避免问题再次发生。
(5)预测性分析。通过工业大数据分析、数据展示等模块,实现计划、生产、设备、质量等要素的预测性分析,确保生产效率高效、成本更低,提升企业竞争力。
4.3农业数据可视化
农业数据可视化可实现对农业生产过程的全面监控,通过数据可视化界面实时对农作物的温度、湿度、光照、降雨量等进行监控,便于管理人员得到相关数据信息,并通过软件对相关环境参数进行分析,如超过预警值,进行报警提醒,让管理人员提前准备相关对策和方案。同时,对农作物在培育、质检、生产和运输过程中的数据信息进行分析,得到可视化分析结果,从而准确存储和管理,提高了农作物产量和质量,降低风险,提升了农业生产效率和产品品质。
4.4医疗领域数据可视化
数据可视化可将医院产生的大量零碎数据进行整合,建立一套高效的医疗管理系统,可分门别类地呈现出来,从而帮助医院解决门诊资料、用药资料、疾病信息等方面的问题。数据可视化技术可以用在诊断医学方面,通过在数字化的诊疗设备中显示多维图像信息,为医生进行正确判断和高效诊疗提供了保障。数据可视化技术可为临床疾病预防、防治等疾病等提供有效的预测和分析数据。
4.5数据可视化技术在教学中的应用
可视化教学是在计算机软件、多媒体等工具的辅助下,形象的展示事物,使人的认知、感觉、想象、推理等发生变化,使学生更好地接受、存储、重组知识,并提升学生多元思维能力。通过数据的可视化教学,减少了信息的流失,提高有效认知能力。
4.6数据可视化技术在其他领域的应用
数据可视化技术还可以应用于气候变化、卫星运行监测、城市基础设施监控、现代旅游业、股票交易、电力供应、交通监控、智能园区建设等方面。
5基于Python 的数据可视化
5.1Python 与数据可视化
目前,很多工具可以实现数据可视化,如Excel,PowerBI 等。其中,Python 作为一种开源的计算机编程语言具有很强的灵活性和强大的功能,在数据分析和数据可视化中具有独特的优势[3] 。
5.2Python 的特点和优势
Python 语言具有开源免费、语法简洁、简单易学、可移植性强特点。Python 数据分析及信息获取过程具有较强的资源优势,可以快速获取数据资源并完成信息提取。其具有强大的标准库和第三方库,内置标准数据模型,可快捷高效地完成大型数据的处理。同时,进行文本处理、可视化、科学计算、人工智能和机器学习等数据处理时,均可通过调用库工具来实现。Python 的兼容性、包装能力、组合性强,可将复杂代码包装在脚本代码中,利用少量代码即可高效完成任务。Python 的应用领域广泛,包括大数据、网络爬虫、Web 开发、人工智能、云计算、科学计算以及游戏开发等。
5.3常用的数据分析可视化工具
5.3.1Pandas
Pandas 基于NumPy 的一种为解决数据分析任务而创建的工具[4] 。Pandas 纳入了丰富的库和标准的数据模型,提供了高效操作大型数据集所需的工具以及大量能便捷地操作和处理数据的方法和函数。
5.3.2Matplotlib
Matplotlib 是Python 的绘图库,它可以将数据图形化,并且提供多样化的输出格式。其具有强大的绘图功能,将很多数据通过图表的形式更直观形象的呈现出来。它可以用来绘制静态、动态、交互式图表,包括条形图、散点图、线图、柱状图、等高线图、3D 图形、图形动画等。
5.4利用Python 进行数据可视化的流程和方法
5.4.1数据采集
常用的数据采集方式包括网络爬虫、特定API 和数据文件(cave,excel)、数据库等。
5.4.2数据处理和变换
采集到的原始数据可能含有噪音和误差,需要进行数据清洗、去除数据噪声、提取特征等操作。可利用Pandas 库进行处理的方法如下。
(1)缺失值处理常用函数
isnull()¬null()函数:检查是否空值。
fillna()函数:用于填充缺失值数据。
dropna()函数:含有空值的数据删除。
(2)重复数据处理函数
Duplicated()函数:查看重复数据。
drop_duplicates()函数:删除重复数据。
(3)异常值和极端值处理函数
Describe()函数:针对Series 或DF 列汇总统计,对数据进行描述性统计的变量,可发现异常值和极端值。
Replace()函数:可对异常值进行替换处理,如一般常见用均值替换异常值。
5.4.3数据分析
数据分析需要提前熟悉数据,通过Panda 中的head()函数,预览前几行数据,通过shape()函数获取数据表大小,利用通过info()函数获取数据类型,通过describe()函数获取数值分布情况。把需要分析的数据筛选出来,进行数据分组、数据运算及联合查询等操作。利用Pandas 的to_sql 函数可以将分析结果写入数据库中,便于进一步展示。
Pandas 库中常用函数:
排序: sort_index(),sort_values()
基本统计函数:describe()
累计统计函数:cum?(),rolling().?()
相关性分析:corr(),cov()
5.4.4可视化映射
可视化映射是数据可视化的重要步骤,将处理后的数据进行抽取、映射来构成图表,将各种属性进行组合,以二维或多维等形式展现出来[5] 。在这一过程中,要根据数据、特征、场景选择合适的图标类型和视觉效果,空间布局等用Python 中Panda 库的绘图函数来实现(图4)。
6结束语
本文介绍了数据可视化技术的实现过程和数据可视化应用。数据可视化技术通过高效、高质量的使用数据,对各行业的快速、高效发展起到了积极的推动作用。同时,本文探讨了采用Python 语言实现数据可视化的方法,在具体使用方面,需要结合实际场景和应用需求,不断探索和实践。随着科技的发展,数据可视化技术和工具必定會得到进一步发展,社会各行业的数据可视化应用也会更加丰富,我们在生活和工作中将会越来越多地体会到数据可视化带来的便利。