我应该在 HDF Store 中创建一个带有索引的大框架还是许多组?

问题描述 投票:0回答:1

我有一个每天约 150 万行的时间序列、一个 4 维索引和 2 列。到目前为止,我已将所有这些内容放入一个 DataFrame 中,并推入 HDFStore 中的单个组中。现在的问题是,连续附加到这个非常大的框架现在非常慢,我想知道我是否应该每天创建一个组,这是否会加快附加和读取速度。

python python-2.7 pandas hdf5 pytables
1个回答
0
投票

文档说一组可以有 16384 个孩子。如果将一天放在一组中,这将使您的寿命超过 44 年。如有必要,您甚至可以增加此数字。有警告称,数量过多可能会产生不必要的性能和存储影响。

我在根目录下处理了一个包含 15.000 多个组的文件,效果很好。我认为当您需要稍后访问一天时,每天一组的方法更好。不过,整天寻找东西可能会慢得多。你需要尝试一下。

根据您的用例,您还可以每年创建一个组,每月创建一个子组,以及每月的每天创建一个表。如果有人想在图形工具(例如 vitables)中查看数据,这可能会有所帮助。 另一方面,这可能会使您以后的一些处理步骤变得复杂。

© www.soinside.com 2019 - 2024. All rights reserved.