在数据科学和编程语境中,Series / DataFrame 和 ndarray 确实常被称作“容器”,但根据不同的抽象层次、使用场景或技术文档,它们还有更精确或更专业的称呼。下面我们分别说明:
一、Series 和 DataFrame 的其他常见叫法
✅ 1. 数据结构(Data Structures)
- 最通用、最标准的术语。
- 强调其组织数据的方式(如带标签、二维表格等)。
- 官方文档常用此说法:
"pandas provides two primary data structures: Series and DataFrame."
- ✅ 推荐在正式场合(论文、文档、面试)使用。
✅ 2. 数据对象(Data Objects)
- 强调它们是 Python 中的类实例(objects),具有属性和方法。
- 常见于面向对象视角的描述:
"The DataFrame object supports operations like groupby, merge, and pivot."
✅ 3. 表格型数据结构(Tabular Data Structures)
- 特指
DataFrame(有时也泛指Series作为单列表格)。 - 突出其“行×列+标签”的特性,区别于纯数组。
- 在数据库、BI、统计分析领域常用。
✅ 4. 异构数据结构(Heterogeneous Data Structures)
- 强调
DataFrame每列可为不同类型(int、string、datetime 等)。 - 与 NumPy 的同构
ndarray形成对比。
⚠️ 不推荐的叫法:
- ❌ “数据类型”(这是对 dtype 的误解)
- ❌ “数组”(容易与 ndarray 混淆,除非特别说明“pandas array”,但 pandas 自己已弃用该术语)
二、ndarray 的其他常见叫法
✅ 1. NumPy 数组(NumPy Array)
- 最常见、最清晰的称呼。
- 明确归属库,避免与 Python 内置
array.array或 pandas 混淆。
✅ 2. 多维数组(Multidimensional Array)
- 强调其支持任意维度(1D、2D、3D…)。
- 在数学、图像处理、深度学习中常用。
✅ 3. 同构数组(Homogeneous Array)
- 强调所有元素必须是同一 dtype(如全为 float64)。
- 用于与 pandas 的异构性做对比。
✅ 4. 张量(Tensor)(需谨慎!)
- 在机器学习领域(如 TensorFlow/PyTorch),“tensor” 通常指类似 ndarray 的多维数组。
- 但在数学中,“张量”有更严格的定义(涉及坐标变换不变性)。
- ✅ 在 ML 工程语境下可以说:“NumPy ndarray 是一种 CPU 上的 tensor”;
- ❌ 在数学或严格科学计算中,避免将 ndarray 直接等同于张量。
三、总结:推荐术语对照表
| 实体 | 推荐称呼(按优先级) | 说明 |
|---|---|---|
pd.Series / pd.DataFrame |
数据结构 > 数据对象 > 表格型结构 | 避免叫“容器”在正式场合(虽通俗但不够精确) |
np.ndarray |
NumPy 数组 > 多维数组 > 同构数组 | 可在 ML 场景下称“tensor”,但需注意上下文 |
💡 小技巧:
- 在写代码注释或技术文档时,用 “data structure” 最安全;
- 在教学或口语中,“容器”可以作为入门比喻,但应尽快过渡到“数据结构”这一标准术语。
如果你看到某些资料称它们为 “array-like objects”,那是一种更宽泛的说法(指任何具有 .shape、支持索引的结构,包括 list、Series、DataFrame、ndarray 等),属于接口层面的描述,而非具体类型名称。