NumPy基础
·
1. NumPy简介
- NumPy 是 Python 科学计算的核心库。
- 提供
ndarray对象:一种高效的多维数组,支持向量化运算。 - 替代传统 Python 列表的逐元素计算,性能更高。
2. ndarray数组对象
ndarray是一个同质多维数组(所有元素类型相同)。- 常用创建方式:
np.array:从列表或嵌套序列创建。np.zeros、np.ones:创建全0/全1数组。np.arange:类似range,创建等差数组。
- 属性:
shape:数组维度大小。dtype:元素数据类型。
3. 数组运算
- 向量化运算:数组之间的加减乘除直接作用于元素,无需显式循环。
- 广播机制:允许不同形状的数组在运算时自动对齐扩展。
4. 索引与切片
- 与 Python 列表类似,但 NumPy 数组切片返回 视图(view),不会复制数据。
- 支持:
- 一维、二维、多维索引。
- 布尔索引(如:
arr[arr > 0])。 - 花式索引(使用整数数组选择元素)。
5. 通用函数(ufunc)
- 逐元素函数,速度快。
- 示例:
np.sqrt:平方根。np.exp:指数。np.maximum:逐元素最大值。
6. 数组运算与统计
- 聚合函数:
sum()、mean()、std()、var()。
- 多维数组可以指定轴(axis)进行运算。
7. 布尔逻辑与条件
- 支持逻辑运算:
&、|、~。 np.where(cond, x, y):根据条件选择元素。
8. 随机数生成
- NumPy 提供
np.random模块:rand、randn:生成均匀/正态分布。shuffle、permutation:随机打乱。
9. 实际应用场景
- 数值模拟(如蒙特卡洛模拟)。
- 数据清洗与处理。
- 科学计算和机器学习的底层支持。
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐


所有评论(0)