我每天有大约150万行的时间序列,一个4维索引和2列。到目前为止,我已将所有这些内容放入一个DataFrame中,然后将其推入HDFStore中的单个组中。现在的问题是,不断追加到这个非常大的帧现在是非常缓慢的,我想知道我是否应该每天创建一个组,如果这会加速追加和读取。 Muchas gracias por la ayuda!
答案 0 :(得分:0)
docs说你可以在一组中拥有16384个孩子。这将使你在一组中度过一天超过44年。如有必要,您甚至可以增加此数量。有一个警告,大量的数据可能会产生不必要的性能和存储影响。
我在root中使用了一个包含15.000多个组的文件,效果很好。我认为当你需要稍后访问一天时,每天一组的方法会更好。尽管如此,搜索所有日子里的东西可能会慢得多。你需要试一试。
根据您的使用情况,您还可以每年创建一个组,每月创建一个子组,每月创建一个表。如果有人想要查看图形工具(如vitables)中的数据,这可能会有所帮助。 另一方面,这可能会使您稍后的一些处理步骤复杂化。