2017-04-15 62 views
0

我有一个很大的数据集,1100万行,我把数据加载到熊猫。然后,我想要构建一个空间索引,如rtree或quad tree,但是当我将其推入内存时,它会随着已读取大文件而消耗大量内存。Hdf5和空间索引

为了帮助减少内存占用,我试图将索引推送到磁盘。 您可以将树存储在表中吗?甚至是一个数据框并将其存储在hdf表中?有更好的策略吗?

谢谢

+0

这个问题有点偏离主题。我相当肯定mysql可以处理存储和检索树。 – James

+0

我不确定这个问题的含义是什么,但是如何在熊猫中批量读取数据集呢? – Peaceful

+0

@peaceful我试图问我是否有一个非常大的数据集,而且我不想只有一个rtree索引到内存中,是否有策略来执行此操作或现有程序包? – JabberJabber

回答

0

是的,r-树可以很容易地存储在磁盘上。 (KD树和四叉树的难度更大)

这就是为什么索引是面向块的 - 块大小是为了匹配小时驱动。

我不使用熊猫,也不会给图书馆推荐。

+0

感谢您的评论 – JabberJabber

+0

基本的R-Trees并不是那么好,R * Tree(RStarTree),X-Tree或STR-Tree(排序瓦片递归加载的R-Tree)怎么样? – TilmannZ

+0

它们都是r树,只是一些变化,但它们都是为磁盘使用而设计的。 –