3.Python数据分析—数据分析入门知识图谱&索引-知识体系中篇
- 一·个人简介
- 二·数据获取和处理
- 2.1 数据来源:
- 2.2 数据清洗:
- 2.2.1 缺失值处理:
- 2.2.2 异常值处理:
- 2.3 数据转换:
- 2.3.1 数据类型转换:
- 2.3.2 数据编码:
- 2.4 数据合并与重塑:
- 2.4.1 数据合并:
- 2.4.2 数据拼接:
- 2.4.3 数据重塑:
- 三·数据探索与分析
- 3.1 描述性统计分析
- 3.2 数据可视化原则和技巧
- 3.3 探索性数据分析(EDA)
- 3.4 相关性分析和假设检验
- 3.4.1 相关性分析
- 3.4.1 假设检验
一·个人简介
🏘️🏘️个人主页:以山河作礼。
🎖️🎖️:Python领域新星创作者,CSDN实力新星认证,CSDN内容合伙人,阿里云社区专家博主,新星计划导师,在职数据分析师。
🎉🎉免费学习专栏:1. 《Python基础入门》——0基础入门
2.《Python网络爬虫》——从入门到精通
3.《Web全栈开发》——涵盖了前端、后端和数据库等多个领域
4.《【30天】Python从入门到精通详解版》——30天入门到精通(持续更新中)
🎉🎉《机器学习算法专栏》目前阶段免费(持续更新中)!!!
🪐🪐欢迎免费订阅!欢迎大家一起学习,一起成长!!
💕💕悲索之人烈焰加身,堕落者不可饶恕。永恒燃烧的羽翼,带我脱离凡间的沉沦。
二·数据获取和处理
2.1 数据来源:
数据获取和处理是数据分析和机器学习项目的关键步骤。在这个阶段,首先确定数据的来源,然后采用适当的方法来收集和整理数据,以便于后续的分析和建模工作。
以下是几种常见的数据来源及其处理方法:
文件
:数据经常存储在各种文件中,如CSV、Excel、JSON或XML等格式。处理这些文件通常包括读取文件内容,解析数据结构,以及清洗数据(如处理缺失值、异常值、重复记录等)。数据库
:数据可能存储在关系型数据库(如MySQL、PostgreSQL、Oracle)或非关系型数据库(如MongoDB、Cassandra)中。从数据库中获取数据通常涉及到编写SQL查询或使用特定的数据库API来提取所需的数据集。API
:许多现代服务提供了API(应用程序编程接口),允许开发者通过HTTP请求获取数据。这可能包括RESTful
API、GraphQL API或其他类型的Web服务。使用API时,需要了解API的认证机制、请求参数、响应格式以及速率限制等。网络爬虫
:对于网页上的数据,可以使用网络爬虫(Web
Scraping)技术来抓取数据。这通常涉及到发送HTTP请求到网页,解析HTML或JSON响应,然后提取所需的信息。实时数据流
:某些应用需要处理实时数据流,如来自传感器、日志文件或消息队列的数据。处理实时数据流通常涉及到使用特定的流处理框架和技术。外部服务
:有时数据来源于第三方服务,如天气信息、金融市场数据等。这些服务可能提供专门的接口或数据集供用户使用。
2.2 数据清洗:
在实际操作中,选择哪种方法取决于数据的性质、异常值和缺失值的数量以及分析的目标。通常,数据处理前需要进行彻底的探索性数据分析(EDA),以了解数据的特点和问题的本质。可以通过箱线图分析来检测异常值。在处理过程中,应当谨慎考虑每种方法的适用性和可能带来的影响,以确保数据的完整性和分析结果的可靠性。
以下是针对缺失值和异常值的一些处理方法:
2.2.1 缺失值处理:
- 删除:直接将含有缺失值的记录从数据集中移除。这种方法简单直接,但可能会导致信息的丢失,尤其是在缺失值较多的情况下。
- 填充:使用特定的值来填补缺失的数据。常用的填充方法包括使用均值、加权均值、中位数(对于数值型数据),或使用众数(对于分类型数据)。
- 不处理:在某些情况下,选择不对缺失值进行处理,这可能会影响后续分析的结果。
- 插值法填充:对于时间序列数据或其他有序数据,可以使用插值法来估计缺失值,如线性插值或多项式插值等。
- 模型预测填充:利用其他变量构建模型来预测缺失值,这种方法可以更好地保留数据间的关系。
2.2.2 异常值处理:
- 删除:直接将含有异常值的记录删除,这可能会同时移除潜在的有效信息。
- 视为缺失值:将异常值视为缺失值,然后按照缺失值处理的方法进行处理。
- 平均值修正:使用前后两个观测值的平均值来修正异常值,适用于时间序列等有序数据。
- 不处理:直接在具有异常值的数据集上进行数据分析,但这可能会影响分析结果的准确性。
2.3 数据转换:
数据转换通常包括将数据从一种类型更改为另一种类型,以及将数据重新编码以适应特定的分析或存储需求。
2.3.1 数据类型转换:
- 数据类型转换是将数据值从一个类型转换为另一个类型的过程。这种转换可能是为了确保数据的兼容性
- 当从低精度类型(如int)向高精度类型(如double)转换时,通常不会出现问题。但是,从高精度转向低精度时可能会出现数据丢失的情况。
- 在编程中,类型转换可以通过强制类型转换操作实现,例如在C语言中使用
(type)value
的形式进行转换。
2.3.2 数据编码:
- 数据编码是数据预处理的一个重要方面,它涉及到将定性数据(如文本)转换为定量数据(如数字),以便进行数学计算或统计分析。
- 常见的数据编码技术包括独热编码(One-Hot Encoding),标签编码(Label Encoding),以及二进制编码等。
- 数据编码的目的是为了让机器学习算法能够更好地理解和处理数据,尤其是对于分类变量的处理。
2.4 数据合并与重塑:
数据合并与重塑是数据处理中的常见任务,涉及到结合和改变数据的结构以便于分析。
2.4.1 数据合并:
- 数据合并通常指的是将两个或多个数据集按照一定的键(如ID或时间)结合起来。这在pandas中可以通过
merge()
函数实现,类似于数据库中的JOIN操作。 concat()
方法用于将多个DataFrame或Series沿着一条轴(行或列)连接起来,类似于数据库中的UNION操作。combine_first()
方法用于在两个DataFrame对象上调用,将第二个对象的值填充到第一个对象的缺失值中。
2.4.2 数据拼接:
- 数据拼接通常指的是在现有的数据结构上添加新的数据,这可以通过pandas的
append()
方法实现。
2.4.3 数据重塑:
- 数据重塑涉及到改变数据的格式或结构,以便更好地适应分析需求。pandas提供了多种重塑数据的方法,如
pivot()
、stack()
和unstack()
等。 - 层次化索引也是重塑数据的一个强大工具,它允许我们在多个层次上对数据进行分组和操作。
三·数据探索与分析
3.1 描述性统计分析
描述性统计分析是利用统计学的方法对数据进行总结和描述的过程,它涉及到数据的收集、整理、汇总和展示。
- 数据的集中趋势分析:这通常包括计算
平均值
、中位数
和众数
等统计量,用以描述数据的典型值或中心位置。 - 数据的离散程度分析:通过计算
标准差
、方差
、极差
等来评估数据的波动大小或分散程度。 - 数据的分布分析:分析和描述数据的整体分布情况,可能会用到
频率分布表
、直方图
等工具。 - 数据的频数分析:统计每个类别的观测次数,以了解不同类别的频度。
- 基本的统计图形:使用
条形图
、饼图
、箱线图
等图形工具来直观展示数据特征。 - 交叉分析法:通过交叉表格来分析两个或多个变量之间的关系。
- 对比分析法:比较不同组别或时间点的数据,以发现差异或趋势。
- 平均分析法:通过计算平均数来分析数据的总体水平。
3.2 数据可视化原则和技巧
数据可视化的原则和技巧主要在于清晰、有效地传达信息,同时也需考虑美观性和读者的体验。
- 明确可视化目标:在开始之前,需要明确数据可视化的目的,是为了揭示模式、趋势还是说服观众采取某种行动。这将影响所选择的图表类型和方法。
- 选择合适的图表类型:根据目标和数据特性选择最合适的图表类型,如折线图适合展示趋势,柱状图便于比较不同类别等。
- 数据处理与清洗:在进行可视化前确保数据的准确性和一致性,处理异常值、缺失值和去除冗余数据,以增强可信度。
- 客观性原则:避免个人偏好影响数据展示,确保客观性和准确性。选择图表类型和配色应基于数据特征而非个人喜好。
- 考虑时间序列和空间分布:对于有时间或空间特征的数据,要选择合适的方法来展示周期性、趋势性或区域差异。
- 标签与注释:合理使用标题、轴标签、图例等元素,辅以解释性文本,帮助快速理解图表含义。
- 色彩与对比度:恰当运用色彩和对比度可以突出重点,使视觉元素区分明显,但需注意色彩不宜过多以免造成混乱。
- 字体选择:使用简单易读的字体,排版应当服务于清晰度和可读性而非视觉效果。
- 条形图基线从零开始:这保证了比较的准确性,防止误导读者。
- 与业务需求相结合:将数据可视化与实际业务场景紧密结合,确保其对决策支持有实质性的帮助。
3.3 探索性数据分析(EDA)
探索性数据分析(EDA)是一种用于理解数据集特征的初步分析方法,它有助于揭示数据中的模式、异常值和结构。
- 数据概述:初步了解数据集的内容,包括数据的维度、类型和基本统计描述(如均值、中位数、标准差等)。
- 数据清洗:处理缺失值、异常值和重复记录,确保数据质量。
- 数据可视化:通过图表和图形(如散点图、直方图、箱线图等)直观地展示数据分布和变量间的关系。
- 特征工程:基于对数据的理解,选择或构建对预测结果有贡献的特征。
- 假设检验:对数据进行统计检验,以验证某些假设或理论。
- 建立模型:使用经过探索性分析准备的数据来建立预测或分类模型。
3.4 相关性分析和假设检验
相关性分析和假设检验是统计学中用于探究数据之间关系和测试理论假设的重要方法。
3.4.1 相关性分析
- 相关性分析旨在探讨两个或多个变量之间的相关程度,例如,研究降水量与温度之间的关系。在进行分析之前,通常通过散点图初步了解变量间的关系情况。如果变量之间存在某种相关性,那么大部分的数据点就会相对密集并以某种趋势呈现。
- 相关性的强度和方向通常通过计算相关系数(如Pearson相关系数)来量化,该系数的值介于-1到+1之间,其中+1表示完全正相关,0表示无相关,-1表示完全负相关。
3.4.1 假设检验
- 假设检验是一种统计方法,用于检验关于总体参数的假设是否成立。它包括原假设(H0)和备择假设(H1)。原假设通常是研究者想要拒绝的假设,而备择假设是研究者想要接受的假设。
- 进行假设检验时,会计算一个p值,该值表示在原假设为真的情况下,观察到的样本数据(或更极端的数据)出现的概率。如果p值小于预先设定的显著性水平(通常是0.05或0.01),则拒绝原假设,认为数据提供了足够的证据支持备择假设。