表实现详细信息#
本页提供了 Table
类实现,特别突出了内部数据存储体系结构。这是针对那些对优化使用感兴趣的开发人员和/或用户 Table
班级。
下图说明了 Table
班级。基本数据容器是单个列对象的有序字典,维护为 columns
属性。正是通过这个容器来管理和访问列。

每个 Column
(或 MaskedColumn
)对象是一个 numpy.ndarray
(或 numpy.ma.MaskedArray
)子类,并且是其数据的唯一所有者。将表作为单独的列进行维护可以极大地简化表管理。它还使添加或移除列等操作比使用 numpy
结构化数组容器。
如下所示,a Row
对象对应于表中的一行。这个 Row
对象在任何时候都不创建整行的视图。相反,它管理访问(例如。, row['a']
)通过引用父表的适当元素来动态执行。

在某些情况下,需要具有整行的静态副本。这一点可以通过 as_void()
方法,该方法创建并返回 numpy.void
或 numpy.ma.mvoid
使用原始数据的副本创建。