1. NumPy简介

  • NumPy 是 Python 科学计算的核心库。
  • 提供 ndarray 对象:一种高效的多维数组,支持向量化运算。
  • 替代传统 Python 列表的逐元素计算,性能更高。

2. ndarray数组对象

  • ndarray 是一个同质多维数组(所有元素类型相同)。
  • 常用创建方式:
    • np.array:从列表或嵌套序列创建。
    • np.zerosnp.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 模块:
    • randrandn:生成均匀/正态分布。
    • shufflepermutation:随机打乱。

9. 实际应用场景

  • 数值模拟(如蒙特卡洛模拟)。
  • 数据清洗与处理。
  • 科学计算和机器学习的底层支持。
Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐