我试图找出什么是在pytables中存储时间值对的最有效方法。我正在使用pytables,因为我要处理大量数据。我将需要对数据进行计算(平均,内插等)。我不知道提前多少行。
我知道可以将EArray附加到表上。有理由选择一个吗?
考虑到我的数据结构简单(时间值对是均匀的),我认为EArray会更快/效率最高,但是pytables创建者自己的以下引用使我失望了:
“ ... PyTables专门针对表进行了调整。
这些实体使用特殊的I / O缓冲区和查询引擎
调整为最大速度。 *数组对象不相同
机械。” quote location
最佳答案
如果列具有某些特定含义或名称,那么您绝对应该使用表格。
效率很大程度上取决于您对数据执行的哪种操作。在大多数情况下,差异不会太大。对于行访问,EArray可能会更快,对于列访问,表可能会稍好一些,对于整个表/ EArray访问,它们应该非常相似。
当然,当您想做的事情不仅仅是访问元素,而是想查询或转换数据时,您应该使用表。表格实际上是围绕查询,通过where()方法和索引的思想建立的,这使得此类操作非常快。 EArray缺少此基础架构,因此速度较慢。
关于python - Pytables EArray与Table的速度/效率对比,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19416491/