Pytables EArray vs速度/效率表

时间:2013-10-17 00:58:14

标签: python pytables

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

我知道可以附加EArray,就像表格一样。是否有理由选择其中一个?

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

“... PyTables专门针对表格进行了调整 这些实体都带有特殊的I / O缓冲区和查询引擎 罚款调整为最大速度。 *数组对象不相同 机械“。quote location

1 个答案:

答案 0 :(得分:2)

如果列具有某些特定含义或名称,那么您一定要使用表。

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

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