2

我试图弄清楚在 pytables 中存储时间值对的最有效方法是什么。我正在使用 pytables,因为我正在处理大量数据。我需要对数据进行计算(平均值、插值等)。我不知道提前的行数。

我知道可以附加一个 EArray,就像一个表一样。有理由选择一个而不是另一个吗?

鉴于我的简单数据结构(同质时间值对),我认为 EArray 会更快/最有效,但是 pytables 创建者本人的以下引用让我失望:

“...PyTables 专门针对表格进行了调整。
这些实体使用特殊的 I/O 缓冲区和查询引擎,这些引擎经过微调以实现最大速度。*数组对象不使用相同的机器。” 报价地点

4

1 回答 1

2

如果列有某些特定的含义或名称,那么您绝对应该使用表格。

效率很大程度上取决于您对数据执行的操作类型。大多数时候不会有太大的不同。EArray 对于行访问可能更快,表在列访问方面可能稍好一些,并且对于整个 Table/EArray 访问它们应该非常相似。

当然,当您想要做的不仅仅是访问元素而是想要查询或转换数据时,您应该使用表。表实际上是围绕这种查询思想构建的,通过 where() 方法和索引,这使得此类操作非常快。EArrays 缺乏这种基础设施,因此速度较慢。

于 2013-10-17T08:38:17.593 回答