第一章:NumPy 简介与安装
- 什么是 NumPy?
- NumPy 的优势(相比 Python List)
- 安装 NumPy(使用 pip)
- 导入 NumPy 与常用别名
np
🔗 NumPy 官方文档 – 简介
🔗 W3Schools – NumPy Intro
第二章:创建 NumPy 数组
- 使用
np.array()
创建数组 - 一维、二维、三维数组的表示
- 数组属性(
shape
、ndim
、dtype
、size
) - 使用内置函数快速创建数组(
arange()
、linspace()
、zeros()
、ones()
、empty()
、eye()
)
🔗 NumPy 官方 – 数组创建
🔗 Real Python – NumPy Arrays
第三章:数组索引与切片
- 索引一维、二维、三维数组
- 切片操作(步长、反转、区域选取)
- 布尔索引(Boolean Indexing)
- 花式索引(Fancy Indexing)
🔗 NumPy 索引文档
🔗 GeeksForGeeks – NumPy Indexing
第四章:数组运算与广播机制
- 数组与标量之间的运算
- 数组之间的加减乘除(逐元素)
- 广播规则与维度对齐
- 常用数学函数(
np.sum()
、np.mean()
、np.std()
、np.sqrt()
、np.exp()
)
🔗 NumPy 广播机制官方文档
🔗 W3Schools – NumPy Arithmetic
第五章:数组变形与合并
- 数组维度变换(
reshape()
、ravel()
、flatten()
) - 数组拼接(
concatenate()
、vstack()
、hstack()
) - 数组分割(
split()
、hsplit()
、vsplit()
)
🔗 NumPy 变形文档
🔗 Real Python – Reshape & Flatten
第六章:高级函数与操作
- 排序与去重(
sort()
、unique()
) - 随机模块(
np.random.rand()
、randint()
、seed()
) - 向量化函数(
vectorize()
) - 条件选择(
where()
、any()
、all()
)
🔗 NumPy 随机模块
🔗 GeeksForGeeks – NumPy where()
第七章:线性代数与矩阵运算
- 矩阵乘法与点积(
dot()
、matmul()
) - 求逆矩阵、转置、行列式(
inv()
、transpose()
、linalg.det()
) - 特征值分解、奇异值分解(
eig()
、svd()
) - 解线性方程组(
linalg.solve()
)
🔗 NumPy 线性代数文档
🔗 W3Schools – NumPy Linear Algebra
第八章:NumPy 与性能优化
- 向量化 vs 循环性能比较
- 内存布局与
copy()
vsview()
- 使用
np.vectorize()
自定义高性能函数 - 简单的时间性能测试(
%timeit
)
🔗 Real Python – Speed Up Python with NumPy
第九章:与其他库的协同工作
- NumPy 与 Pandas 数据结构互转
- NumPy 与 Matplotlib 可视化配合
- NumPy 与 Scikit-Learn 特征处理协作
🔗 Pandas 官方文档
🔗 Matplotlib 官方文档
🔗 Scikit-Learn 文档
第十章:NumPy 实战项目案例
- 用 NumPy 实现简单图像滤镜
- 模拟骰子投掷的概率分布
- 股票数据的移动平均线计算
- 多元线性回归中的矩阵运算实现
🔗 Kaggle – NumPy 实战案例
🔗 Real Python – Practical NumPy Examples
发表回复