从环境搭建到NumPy完整掌握
补课专用|从环境搭建到NumPy完整掌握|零基础也能看懂、能上手、能记住
第一部分:Python数据分析简介
1.1 为什么用Python做数据分析
Python是目前数据分析、人工智能领域最主流、最全能的语言,优势非常明显:
1.1.1 Python自身优势
- 一站式完成全流程
数据采集 → 数据清洗 → 数据分析 → 可视化 → 机器学习 → 上线部署,全部能用Python独立完成。 - 海量开源库支持
几乎所有数据分析需求都有现成库,不用从零写代码。 - AI/机器学习首选语言
深度学习、神经网络、人工智能项目几乎都用Python。 - 应用范围极广
除了数据分析,还能做爬虫、Web开发、自动化、游戏开发等。
1.1.2 对比Excel、PowerBI、Tableau
- Excel有数据行数限制(最多约100万行),大数据直接卡死。
- PowerBI/Tableau处理超大数据速度慢。
- 商业软件需要付费授权,Python完全免费开源。
- Python功能更强大,能处理文本、图像、日志等非结构化数据。
- 跨平台:Windows、Mac、Linux都能完美运行。
1.1.3 对比R语言
- 处理海量数据效率更高。
- 工程化能力更强,更容易把分析结果做成系统/产品。
- 非结构化数据(文本、图像)与深度学习优势巨大。
- 社区资源更多,教程、问题解决方案远多于R。
1.2 Python数据分析六大核心库
每个库的作用、定位、一句话理解全部整理好,一次性记牢。
1. NumPy
- 全称:Numerical Python
- 定位:数值计算基础库
- 核心:提供ndarray多维数组,速度极快(C语言底层)
- 功能:
- 快速数组/矩阵运算
- 线性代数、傅里叶变换
- 随机数生成
- 科学计算底层支持
2. Pandas
- 定位:表格数据处理神器
- 基于NumPy构建
- 核心数据结构:
- Series:一维数组(带索引)
- DataFrame:二维表格型结构(行+列)
- 功能:
- 读取/写入 Excel、CSV、SQL
- 数据清洗、缺失值处理
- 数据筛选、分组、聚合
- 时间序列分析
3. Matplotlib
- 定位:Python最基础、最常用可视化库
- 功能:
- 绘制折线图、柱状图、散点图、直方图
- 支持静态、动态、交互式图表
- 几乎所有可视化库都基于它扩展
4. Seaborn
- 定位:高颜值统计可视化库
- 基于Matplotlib + Pandas
- 优点:
- API更简单
- 图表更美观
- 直接支持DataFrame数据
- 适合:数据分析报告、统计图表
5. Scikit-learn(Sklearn)
- 定位:机器学习标准库
- 基于NumPy、SciPy、Matplotlib
- 功能:
- 分类、回归、聚类
- 数据预处理、模型评估
- 简单高效、开箱即用
6. Jupyter Notebook / Jupyter Lab
- 定位:数据分析首选开发环境
- 形式:Web应用程序
- 支持:代码、笔记、公式、图表混合编写
- 用途:
- 数据清洗与转换
- 数值模拟
- 统计分析
- 数据可视化
- 机器学习实验
- 文件后缀:
.ipynb
第二部分:Python数据分析环境搭建(超详细)
2.1 Anaconda 是什么?
核心定位
- 全球最流行的数据科学平台(超2000万用户)
- 包管理器 + 环境管理器二合一
- 自带Python、Jupyter、NumPy、Pandas等数百个常用库
- 支持虚拟环境,避免版本冲突
为什么必须用Anaconda?
- 不用手动配置Python环境
- 不用一个个安装库
- 不同项目可以用不同环境,互不干扰
- 安装简单、跨平台、稳定
2.2 Anaconda 安装步骤
- 打开官网:
https://www.anaconda.com/products/individual - 下载对应系统版本(Windows/Mac/Linux)
- 双击安装,一路下一步即可
- 已安装Python不影响,Anaconda会自带独立Python
2.3 Anaconda 常用命令(必须背会)
2.3.1 虚拟环境管理
# 创建虚拟环境(指定Python版本)
conda create -n 环境名 python=3.9
# 激活/进入虚拟环境
conda activate 环境名
# 退出虚拟环境
conda deactivate
# 删除虚拟环境(彻底删除)
conda remove -n 环境名 --all
2.3.2 安装第三方库
# conda安装
conda install 库名
# pip安装(推荐国内镜像,速度快)
pip install 库名 -i https://mirrors.aliyun.com/pypi/simple/
国内常用镜像源
- 阿里云:https://mirrors.aliyun.com/pypi/simple/
- 豆瓣:https://pypi.douban.com/simple/
- 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/
- 中科大:http://pypi.mirrors.ustc.edu.cn/simple/
2.4 Jupyter Notebook 完整使用指南
2.4.1 启动方式
方式1:Anaconda 界面启动
打开Anaconda → 找到Jupyter Notebook → 点击 Launch
方式2:命令行启动(推荐)
conda activate 你的环境
jupyter notebook
2.4.2 Jupyter 核心概念
- Cell(单元格):代码输入与结果展示的区域
- 两种模式:
- 命令模式(按ESC)
- 编辑模式(按Enter)
2.4.3 最常用快捷键(必背)
命令模式(ESC)
M→ 切换为Markdown笔记Y→ 切换为代码A→ 在上方插入CellB→ 在下方插入CellDD→ 删除当前CellEnter→ 进入编辑模式
编辑模式(Enter)
Ctrl + /→ 注释/取消注释Tab→ 代码补全Ctrl + Z→ 撤销Ctrl + Y→ 重做
通用快捷键
Shift + Enter→ 运行当前Cell,并跳到下一个Ctrl + Enter→ 运行当前Cell,停在原地- Cell左边出现
*→ 代码正在运行
2.4.4 Jupyter 中使用 Markdown
- 命令模式按
M进入Markdown - 可写标题、列表、加粗、公式、笔记说明
- 适合写分析思路、报告、注释
第三部分:NumPy 超详细笔记(数据分析核心)
NumPy是所有数据分析库的基础,必须熟练掌握。
3.1 NumPy 是什么?
官方定义
NumPy = Numerical Python,是Python科学计算、数值分析的基础库。
核心特点
- 底层由C语言开发,运算速度极快
- 解决Python原生列表运算慢、耗内存的问题
- 提供ndarray多维数组对象
- 支持向量化运算,不用写循环
- 是Pandas、Matplotlib、Sklearn的基础
3.2 ndarray 核心属性
ndarray是NumPy的核心,所有操作都围绕它。
| 属性名 | 含义 |
|---|---|
ndarray.ndim |
数组的维度(1维、2维、3维…) |
ndarray.shape |
数组形状(行,列) |
ndarray.size |
数组总元素个数 |
ndarray.dtype |
数组元素的数据类型 |
ndarray.itemsize |
每个元素占用的字节数 |
示例理解
import numpy as np
arr = np.array([[1,2,3], [4,5,6]])
print(arr.ndim) # 2 (二维数组)
print(arr.shape) # (2,3) 2行3列
print(arr.size) # 6
print(arr.dtype) # int64
print(arr.itemsize) # 8
3.3 创建 ndarray 数组(最全方法)
3.3.1 从列表/序列创建(最常用)
import numpy as np
# 一维数组
arr1 = np.array([1,2,3,4])
# 二维数组
arr2 = np.array([[1,2],[3,4],[5,6]])
3.3.2 arange 创建等差数组
类似Python的range,但返回数组。
np.arange(起始, 结束, 步长)
np.arange(0, 10, 2)
# 结果:[0 2 4 6 8]
3.3.3 linspace 创建等差数列
np.linspace(起始, 结束, 元素个数)
np.linspace(0, 10, 5)
# 结果:[ 0. 2.5 5. 7.5 10. ]
3.3.4 logspace 创建等比数列
默认以10为底。
np.logspace(起始指数, 结束指数, 个数)
np.logspace(0, 3, 4)
# 10^0 → 10^3
3.3.5 指定数据类型 dtype
arr = np.array([1,2,3], dtype=np.float32)
# 类型转换
arr_new = arr.astype(np.int64)
3.4 NumPy 常用内置函数(超级全)
3.4.1 基础数值函数
np.ceil(x) # 向上取整
np.floor(x) # 向下取整
np.rint(x) # 四舍五入
np.abs(x) # 绝对值
np.isnan(x) # 判断是否为NaN
np.multiply(x,y)# 元素相乘
np.divide(x,y) # 元素相除
np.where(条件, x, y) # 三元运算:满足条件返回x,否则y
3.4.2 统计函数(最常用)
np.mean() # 平均值
np.sum() # 求和
np.max() # 最大值
np.min() # 最小值
np.std() # 标准差
np.var() # 方差
np.argmax() # 最大值索引
np.argmin() # 最小值索引
np.cumsum() # 累加和
np.cumprod() # 累乘积
np.unique() # 去重并排序
3.4.3 轴参数 axis(重点)
axis=0→ 按列计算axis=1→ 按行计算
arr = np.array([[1,2],[3,4]])
arr.sum(axis=0) # [4,6] 按列求和
arr.sum(axis=1) # [3,7] 按行求和
3.5 NumPy 数组运算
3.5.1 元素级运算
两个相同形状数组可以直接加减乘除,对应位置计算。
a = np.array([1,2,3])
b = np.array([4,5,6])
a + b
a - b
a * b
a / b
3.5.2 矩阵乘法
# 标准矩阵乘法
np.dot(a, b)
a @ b
3.5.3 广播机制
不同形状的数组也能运算,NumPy会自动扩展。
- 例:(3,3)数组 + (3,)数组 → 自动按行扩展
第四部分:课堂完整总结
Python数据分析总结
- Python是数据分析最强大、最通用的语言。
- 核心库:NumPy、Pandas、Matplotlib、Seaborn、Sklearn、Jupyter。
- Anaconda负责环境与包管理,一键搭建环境。
- Jupyter Notebook是数据分析最佳编辑器,支持代码+笔记混合。
- NumPy提供ndarray数组,是所有数值计算的基础。
- 数组属性、创建、函数、运算必须熟练掌握。
学习路线(照着学不会迷路)
- 搭建Anaconda环境 → 会用Jupyter
- 熟练NumPy数组操作
- 学习Pandas处理表格数据
- 学习Matplotlib/Seaborn画图
- 学习Sklearn做简单机器学习模型

浙公网安备 33010602011771号