实际上,它 是
一个数据库。当然,它是一个层次数据库,而不是像这样的1级键值数据库
dbm(显然不那么灵活)或像这样的关系数据库
sqlite3(功能更强大,但更复杂)。
但是,相对于非数字特定数据库的主要优势与例如numpy
ndarray相对于普通Python的优势完全相同
list。它针对执行许多矢量化数字运算进行了优化,因此,如果您正在使用它,那么它将占用更少的时间和空间。
这个包的基本目的是什么
从第一线报价在头版(或者,如果你愿意的话,第一行的FAQ):
PyTables是用于管理分层数据集的软件包,旨在高效,轻松地处理大量数据。
在首页顶部附近还有一个列出MainFeatures的页面。
(我可以在NumPy和Pandas中进行相同的结构化,那么PyTables有什么大不了的)?
真?您可以在仅16GB RAM的计算机上以numpy或pandas处理64GB数据吗?还是32位计算机?
不,你不能。除非您将数据分解成一堆单独的集,然后根据需要进行加载,处理和保存,但这将变得更加复杂且缓慢。
这就像问为什么只用常规的Python列表和迭代器可以做同样的事情时为什么需要numpy。当您有8个浮点数组时,Pure
Python很棒,但当您有10000x10000浮点数组时则不是。当您有几个10000x10000阵列时,numpy很棒,但是当您有十二个互连阵列,大小不超过20GB时,numpy很棒。
它对大型数据集的分析真的有帮助吗?
是。
任何人都可以借助任何示例进行详细说明…
是。而不是在此处复制所有示例,您为什么不只查看文档首页上的简单示例,源代码树中的大量示例,指向实际用例的链接,请单击两次即可文档页面等?
如果您想让自己相信PyTables的有用性,请使用任何示例并将其扩展到最大32GB的数据,然后尝试弄清楚如何在numpy或pandas中做同样的事情。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)