ndarray是NumPy的核心数据结构,为N维同质数组,具有固定大小、高效向量化运算、多维支持、灵活索引切片、广播机制及底层内存集成等特点,广泛应用于科学计算与数据分析。

ndarray 是 NumPy 中最核心的数据结构,全称为“N-dimensional array”,即 N 维数组。它在科学计算、数据分析和机器学习中被广泛使用,具有以下几个显著特点:
1. 固定大小的同质数据容器
ndarray 创建时就确定了形状(shape)和大小(size),一旦创建,其大小不能改变(除非生成新数组)。数组中的所有元素必须是相同的数据类型,比如都是 float64 或 int32,这使得内存布局连续且高效。
2. 高效的数值运算能力
ndarray 支持向量化操作,无需循环即可对整个数组执行数学运算。例如两个数组相加,可以直接使用 a + b,NumPy 会在底层用 C 语言高效实现逐元素操作,速度远快于 Python 原生列表的 for 循环。
3. 多维数据支持
ndarray 可表示任意维度的数据:
- 一维:向量
- 二维:矩阵
- 三维及以上:张量
4. 丰富的索引和切片功能
支持灵活的访问方式:
- 基本索引:arr[0]、arr[1, 2]
- 切片操作:arr[1:5]、arr[:, :](完整复制)
- 布尔索引:arr[arr > 0]
- 花式索引:使用整数数组选取特定元素
5. 广播机制(Broadcasting)
不同形状的数组在某些条件下可以进行算术运算。例如一个标量与数组相加,或一个一维数组与二维数组按规则扩展后运算,广播机制自动处理维度匹配问题,减少手动 reshape 的需要。
立即学习“Python免费学习笔记(深入)”;
6. 与底层内存紧密集成
ndarray 数据存储在连续的内存块中,可直接与 C/Fortran 等语言交互。支持指定字节顺序(大端或小端)、内存对齐等高级控制,适合高性能计算场景。
基本上就这些。ndarray 的设计目标是高效处理大规模数值数据,它的这些特性让它成为 Python 科学计算生态的基石。











