首页 文章

Pytables EArray vs速度/效率表

提问于
浏览
2

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

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

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

“...... PyTables专门针对表格进行了调整 .
并且这些实体使用特殊的I / O缓冲区和查询引擎,这些引擎经过精确调整以获得最大速度 . *数组对象不使用相同的机器 . “quote location

1 回答

  • 2

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

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

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

相关问题