学习本路线内容之前,请先学习Python的基础知识
其他路线:
符号表解释:
可根据知识点前的符号按需选学,并获取知识点描述和学习资源。
⭐️必学:核心知识点,经常用到。
✅建议学:重要知识点,专业人士的基⽯。
❗面试重点:经常出现的面试知识点。
❌可有可无:边缘区域,不是必须探索的地方。
💬知识描绘:知识点描述,快速理解。
📚学习资源:关联的学习资源。
🎯学习目标:阶段性目标。
学习路线:自动化运维
💬描述: Python 数据分析是使用 Python 编程语言进行数据收集、处理、分析和可视化的过程,通常用于从大型数据集中提取有价值的信息和见解。它包括使用库和工具如 pandas、NumPy、Matplotlib 和 Seaborn 来执行数据操作和可视化,以支持数据驱动的决策和问题解决。这是数据科学领域中的关键技能,广泛应用于各种行业,包括商业、医疗保健、金融和科学研究。
🎯目标: 销售数据分析,分析公司的销售数据,包括销售额、销售趋势、最畅销产品等,并生成可视化报告。
📚学习资源:
一、环境搭建
- ⭐️Anaconda
💬描述: Anaconda 是一个开源的数据科学和机器学习平台,旨在简化数据分析和科学计算的工作流程。它包括一个强大的集成开发环境(IDE),称为 Anaconda Navigator,以及一个包管理器 Conda。Anaconda 提供了许多常用的数据科学工具和库的预安装,如 NumPy、pandas、Matplotlib、Jupyter Notebook 和 scikit-learn,使用户能够轻松地开始数据分析和机器学习项目。
- Jupyter Notebook
💬描述: Jupyter Notebook 是一个交互式计算环境,广泛用于数据科学和编程教育。它允许用户创建和共享文档,其中可以包含实时运行的代码、文本、图像和可视化结果。
📚资源:
二、常用类库
1、⭐️NumPy1.1 数组:
- NumPy 最重要的数据结构是 ndarray,它是一个多维数组对象。这些数组可以包含相同类型的元素,通常是数值。
- 数组的维度称为轴(axes),数组的维度数量称为秩(rank)。
- 通过 numpy.array() 函数或直接使用列表创建 NumPy 数组。
1.2 索引:
- NumPy 数组可以使用整数索引来访问元素,索引从 0 开始。
- 可以使用负数索引从数组的末尾开始访问元素。
1.3 切片:
- 切片是一种从数组中提取子数组的方法,可以用于选择数组的一部分。
- 切片的语法是 array[start:stop:step],其中 start 表示起始索引,stop 表示结束索引(不包括),step 表示步长。
1.4 多维数组:
- NumPy 支持多维数组,可以是一维、二维或更高维度。
- 多维数组的元素可以通过逗号分隔的索引访问,例如 array[0, 1] 表示访问第一行第二列的元素。
1.5 函数:
- NumPy 提供了大量用于数值计算的函数,包括数学、统计、线性代数等。
- 一些常用的 NumPy 函数包括 numpy.sum()、numpy.mean()、numpy.std()、numpy.dot() 等。
- NumPy 还支持广播(broadcasting),使得对不同形状的数组进行运算更加灵活。
2.1 Series:
- Series 是 pandas 中的一维标记数组,类似于 NumPy 数组或 Python 列表,但具有数据标签(索引)。
- Series 由两部分组成,数据部分和索引部分,可以将它看作是一列数据与该列数据的标签。
- 创建 Series 可以使用 pandas.Series() 函数,传入数据列表或 NumPy 数组。
- DataFrame 是 pandas 中的二维数据结构,类似于电子表格或 SQL 表格,它由多个 Series 对象组成,每个 Series 代表一列数据。
- DataFrame 是一个表格,每列可以包含不同类型的数据,但是每列的数据类型必须相同。
- 可以使用 pandas.DataFrame() 函数来创建 DataFrame,传入数据和列标签。
- 索引是 pandas 中非常重要的概念,它用于标识和访问 Series 和 DataFrame 中的数据。
- 可以自定义索引,也可以使用默认整数索引。
- 索引在数据对齐和数据检索中起着关键作用。
- 对齐是 pandas 的一个强大功能,它确保在进行操作时,两个对象的索引正确对齐,从而避免数据混乱或错误。
- 当对两个具有不同索引的 Series 或 DataFrame 执行操作时,pandas 会自动对齐它们的数据。
- pandas 提供了丰富的函数和方法,用于数据操作和变换,包括数据的筛选、排序、合并、分组等。
- 一些常用的 pandas 函数包括 head()、tail()、info()、describe()、groupby() 等。
- pandas 支持对数据进行统计分析,包括计算均值、中位数、标准差、最大值、最小值等。
- 可以使用 mean()、median()、std()、max()、min() 等函数来执行这些统计操作。
3.1 数据清洗:
- 数据清洗是数据预处理的重要步骤,用于处理数据中的错误、缺失值、重复项和不一致性。
- 常见的数据清洗任务包括删除重复行、填充缺失值、修复数据类型、处理异常值等,以确保数据质量。
- 层次化索引是 pandas 中的一项高级功能,允许在一个轴上拥有多个索引级别。
- 这使得数据可以以更复杂的方式进行组织和检索,特别适用于处理多维数据,如多维时间序列数据。
- 数据连接是将多个数据集合并为一个数据集的过程,通常根据某些共享的列(键)进行连接。
- 常见的数据连接操作包括内连接、左连接、右连接和外连接,可以使用 pandas 的 merge() 函数执行这些操作。
- 数据合并通常指的是将多个数据集水平合并,即在列方向上合并数据。
- pandas 提供了 concat() 函数用于在不同数据集之间执行数据合并。
- 分组聚合是将数据分成不同的组,并对每个组应用聚合函数(如求和、平均值、计数等)的过程。
- 可以使用 groupby() 函数将数据按照某个列或多个列进行分组,并应用聚合函数来生成汇总信息。
- 轴向旋转是重新组织数据的操作,通常涉及将数据从长格式(长表)转换为宽格式(宽表)或反之。
- 可以使用 pivot()、melt()、stack()、unstack() 等函数来执行轴向旋转操作。
4.1 ⭐️Matplotlib
- Matplotlib 是 Python 中最流行和最基础的数据可视化库之一,用于创建各种静态、交互式和动态的图表和图形。
- 它提供了广泛的绘图功能,包括散点图、折线图、柱状图、饼图、热力图等。
- Matplotlib 的绘图方式相对底层,需要用户手动设置图形的各个属性,因此有一定的学习曲线。
- 通常与 Jupyter Notebook 等环境结合使用,用于数据探索和可视化。
- 📚资源>>>
- Seaborn 是建立在 Matplotlib 之上的高级数据可视化库,旨在简化创建漂亮和信息丰富的统计图表。
- 它提供了高级别的 API,可以轻松绘制各种统计图,包括分布图、箱线图、热力图、回归图等。
- Seaborn 的样式和颜色调色板使得创建吸引人的可视化更加容易,而不需要大量的自定义设置。
- 适用于数据分析、探索性数据分析(EDA)和报告生成。
- Pyecharts 是一个基于 Echarts 的 Python 可视化库,它提供了一种简单的方式来创建交互式数据可视化。
- Echarts 是一种流行的 JavaScript 图表库,Pyecharts 允许 Python 用户轻松利用 Echarts 的功能。
- Pyecharts 支持多种图表类型,包括折线图、柱状图、散点图、地图等,以及自定义主题和样式。
- 它适用于需要在 Web 应用程序中嵌入交互式图表的场景。