《数据分析与可视化》学习笔记
目录
前言
1. 数据、数据分析、数据可视化
2. 数据分析的常用工具
3. 数据分析的一般流程
前言
从本文开始,我将会上传《数据分析与可视化》的学习笔记,记录下我在学习过程中的所思所想。
本文参考书目是吉大出版社梁英宏的《数据分析与可视化》第一版,电子书下载地址如下:
链接:https://pan.quark.cn/s/24eb93663e9a
提取码:N6v6
在当今信息爆炸的时代,各行各业都在产生和积累海量数据,数据已成为企业和组织最重要的资产之一。如何从海量数据中提取有价值的信息,并将其转化为可行的决策,成为了各行各业面临的共同挑战。通过数据分析,隐藏在数据背后的规律得以被揭示,复杂问题得以解决,从而为决策提供有力支持。
本书会通过Python语言,从NumPy、Pandas各类数据分析常用库到高级的机器学习和深度学习算法的应用,为读者建立一个较为清晰的、有条理的数据分析和数据可视化的技术逻辑。
本书共分为十五章,内容涵盖了数据分析与可视化的各个方面:
- 第一章介绍数据分析与可视化的基本概念。
- 第二章至第四章深入讲解NumPy和Pandas这两个Python数据分析的核心库,掌握数据处理、操作和分析的基本技能。
- 第五、第六、第九章重点介绍Matplotlib和Seaborn这两个强大的可视化库,学习如何创建各种类型的图表,将数据以视觉化的方式呈现。
- 第七、第八、第十、第十二章介绍时序分析、科学计算以及机器学习等高级主题。
- 第十一、十三、第十四章介绍PyEcharts、OpenCV、Plotly等其他常用的可视化工具。
- 第十五章结合深度学习技术,介绍数据分析与可视化的前沿发展趋势。
数据、数据分析、数据可视化
数据
数据(Data)是用于记录客观事物的符号或信号,是对客观事实的归纳和表达。它可以分为以下几类:
结构化数据(Structured Data)
- 具有固定格式或组织良好的数据;
- 通常存储在关系数据库、电子表格等有组织的存储库中;
- 每个数据都有预定义好的模型或模式,包含特定类型的字段或变量。
比如说,存储在数据库中的学生信息、员工记录;存储在电子表格中的订单数据。
这些数据通常以”表“的形式存储,有行和列。

员工信息表
非结构化数据(Unstructured Data)
- 没有预先定义的数据模型或格式的数据;
- 这些数据通常是以文本、多媒体内容(图像、视频、音频)等形式存在;
- 例如电子邮件、网页内容、社交媒体数据、传感器数据、文档、视频等。
- 非结构化数据的量通常比结构化数据大得多。
比如说,你在外卖平台上的那些订单页面

外卖APP上的订单图
数据分析
数据分析是指利用统计方法、绘图方法、神经网络方法等技术手段,对收集的结构化或非结构化数据进行处理、分析、汇总和理解的过程。其核心目标是从原始数据中发掘隐藏的内在模式和规律,提取有价值的信息,并基于这些信息形成合理的结论和见解。这一过程将原本杂乱无章的数据转化为可解读、可理解的知识,为决策者提供有力的决策依据,指导未来行动方向。
比如说,给你一份2000-2020年的全球各国家和地区人口自然增长和流动数据表,你怎么通过数据分析分析出“全球人口自然增长率逐渐下降,发展中国家远高于发达国家,人口流动日益频繁,主要表现为从中低收入国家向高收入国家的迁移”这一结论的。就是需要利用各种统计方法对收集的数据进行处理、分析、汇总和理解。
数据分析通常需要对结构化和非结构化数据进行处理和整合,结构化数据更容易分析,而非结构化数据需要先进行数据预处理,将其转换为可分析的格式。
简而言之,数据分析是从数据中发现有用信息,因此:
- 首先要获取数据,或者说采集数据。而网络、信息社会下,数据量往往是巨大的,也称为海量的,因此需要海量数据处理技术。
- 其次要想办法从数据中发现模式,推断关系,这需要用到各种工具和算法,每种工具又有一定的特点,算法也需要大量的积累和研究,现代数据分析往往与机器学习紧密联系。
- 数据分析最终要帮助决策,帮助解决问题。因此数据分析之前一定要定好目标。
数据可视化
数据分析的结果通常是抽象和复杂的,很难通过纯粹的数值理解数据的全貌。将数据转换为图形、图表、动画或其他形式的可视化是解决这一问题的重要方法。
数据可视化是指将数据以可视的形式呈现,如图形、图表、地图或动画。通过可视化,人们能够更直观地理解数据中的模式、趋势和关系。这不仅帮助数据分析师快速识别关键信息,还能有效地向决策者和其他利益相关者传达分析结果。
下图显示了matplotlib和seaborn的各种可视化图表:


数据分析的常用工具
以下是一些常用的数据分析工具
| 工具 | 描述 |
|---|---|
| Python | 有丰富的数据分析库如Pandas、NumPy等,是一种强大的编程语言,广泛用于数据分析、机器学习和自动化任务 |
| Excel | 微软公司开发的电子表格软件,适用于基础数据分析与可视化 |
| R语言 | 专门用于统计分析的编程语言。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具 |
| SQL | SQL(Structured Query Language)是一种专门用于管理和查询关系型数据库的编程语言,用于数据库查询和管理 |
| Tableau | 是一个可视化分析平台,是斯坦福大学一个计算机科学项目的成果,用于可视化数据。通过直观的界面将拖放操作转化为数据查询,从而对数据进行可视化呈现。 |
| Power BI | 微软开发的商业智能分析工具。是一套商业分析工具,用于连接数据源、简化数据准备并提供即时分析。生成报表并进行发布,能把复杂的数据转化成简洁的视图。 |
| SAS | 企业级统计分析软件,用于高级分析、多元分析、商业智能、数据管理和预测性分析。 |
| SPSS | 由IBM开发,广泛使用的统计分析软件包,适用于社会科学和市场研究的数据分析。 |
| Jupyter Notebook | 交互式编程环境,常用于数据分析和可视化,支持多种编程语言。 |
| Apache Spark | 开源的分布式大数据处理框架,支持大规模数据处理,适用于实时数据流处理和机器学习任务。 |
| MATLAB | MathWorks公司开发的高级编程语言和交互式环境,适用于算法开发、数据可视化、数据分析和数值计算。 |
| KNIME | 开源数据分析、报告和集成平台,支持可视化编程,通过图形化工作流操作简化数据分析过程。 |
| Alteryx | 商业数据分析和处理平台,提供数据准备、混合和分析功能,适用于业务分析和数据科学。 |
| QlikView | 商业智能和数据可视化工具,通过内存数据处理提供快速响应和交互式数据探索。 |
数据分析一般流程
提出问题,明确分析的目的和要解决的问题。
提出问题和分析范围。例如,“2024年广州市燃油汽车产量下降的原因?”、“近三年广州市和深圳市新能源汽车产量的对比。”
制定分析目标。即期望通过分析达到的目标,比如提高新能源汽车销售量等。
设计分析流程和方法,确定需要的数据类型和分析工具。
收集所有相关的数据。
确定数据源(如数据库、文件、API、Web 爬虫、问卷调查等)
使用工具和技术收集数据,例如使用 SQL 查询数据库、使用 Python 脚本抓取网页数据、调用 API 获取数据等。
将收集的数据存储在适当的位置,如本地文件(如CSV文件)、数据库(如MySQL)或云存储。当数据量大时也可以进行数据采样(按一定规则选取部分数据)
处理(清洗和分析)数据。
数据清洗
处理缺失值:填充、删除或插值缺失值。
检测并删除重复数据。
处理异常值:检测和处理异常值,如纠正错误数据或剔除异常数据点。
标准化/规范化数据:将数据转换为统一格式,确保数据类型一致。
数据分析:
描述性统计分析:使用统计学方法描述数据的基本特征,如均值、中位数、标准差等。
探索性数据分析:使用可视化工具和技术探索数据,识别模式、趋势和关系。
应用统计模型或机器学习算法进行预测或分类,如回归分析、聚类分析等。
结果可视化,通过图表和图形有效展示分析结果。
选择合适的图表:根据数据类型和分析结果选择合适的图表,如条形图、折线图、散点图、热力图、地理图等。
使用工具和库创建图表,如 Matplotlib、Seaborn、PyEchart、Plotly等。
解释和展示结果。
总结分析结果,提出结论和建议。
总结数据分析中发现的主要结果和趋势。
根据分析结果回答最初提出的问题。
基于分析结果提出可行的建议。
将分析过程、结果和结论整理成报告。
常用工具类型
本书采用Python语言以及相关库作为数据分析与可视化的工具,所用到的Python第三方库包括:
- NumPy用于数值计算。
提供多维数组对象。
支持大量的数学函数操作。
高效的内存使用,适合大规模数值计算。
- Pandas用于数据处理和分析。
提供DataFrame和Series数据结构。
数据操作和分析功能。
数据输入/输出(CSV、Excel、SQL数据库等)。
时间序列功能和数据聚合操作。
- Matplotlib、Seaborn、PyEcharts、Plotly用于数据可视化。
Matplotlib:基础绘图库,动画功能。
Seaborn:基于Matplotlib 的统计图表库,内置数据集,图形美观。
PyEcharts:交互式图表库,适合制作动态和交互式图表,国内地图功能强大。
Plotly:交互式绘图库,支持在线和离线使用,国际地图功能强大。
- Statsmodels、Prophet、Pyplux用于时序数据分析。
Statsmodels:提供多种统计模型,包括时间序列分析。
Prophet:Facebook 开发的时间序列预测工具,能够处理复杂的季节性和假日效应,简化了时间序列预测的流程。
Pyflux:概率性时间序列建模,提供了多种概率模型和贝叶斯推断方法,适合复杂的时间序列分析。
- SciPy用于数值计算、Scikit-learn用于机器学习。
建立在 NumPy 之上,提供了大量的数学、科学和工程计算功能,包括优化、线性代数、积分
和统计等。
Scikit-learn 提供各种机器学习算法,包括各种监督和无监督学习算法,以及数据预处理、模型
评估和选择工具,适合进行机器学习模型的构建和应用。
- Opencv用于图像处理。
开源计算机视觉库,提供丰富的图像处理和计算机视觉算法,支持图像处理、特征提取、目标检测等任务,支持第三方分类模型。
- PyTorch 用于深度学习、TensorBoard和Visdom用于学习过程可视化。
PyTorch:灵活的深度学习框架,支持动态计算图和自动微分,广泛用于构建和训练深度学习模型。
TensorBoard:TensorFlow 提供的用于可视化训练过程和模型的工具,但也可以与 PyTorch 结合使用。
Visdom:用于实时交互式可视化的工具,支持 PyTorch 和其他框架,有助于监控和调试深度学习模型。
本文小结
本文介绍了数据分析与可视化的基本概念。首先介绍了数据分析及其在各领域的应用,接着介绍数据可视化的概念,还概述了数据分析常用工具和一般流程,帮助读者理解数据分析的全面流程及Python语言在此过程中的重要性和应用。
posted on 2025-07-18 17:55 Bull-Horse/Codingman 阅读(31) 评论(0) 收藏 举报


浙公网安备 33010602011771号