kha*_*han 2 python numpy pytables
我最近开始学习PyTables并发现它非常有趣.我的问题是:
谢谢你们.
aba*_*ert 19
当涉及庞大的数据集时,PyTables相对于数据库的基本优势是什么?
实际上,它是一个数据库.当然,它是一个分层数据库而不是一级键值数据库dbm(显然不那么灵活)或关系数据库sqlite3(它们更强大,但更复杂).
但是,与非数字特定数据库相比,其主要优势与优于ndarrayPython 的优势完全相同list.它针对执行大量矢量化数值运算进行了优化,因此,如果您正在使用它,那么它将花费更少的时间和空间.
这个包的基本目的是什么
从第一线报价在头版(或者,如果你愿意的话,第一行的FAQ):
PyTables是一个用于管理分层数据集的软件包,旨在高效,轻松地处理大量数据.
还有一个列出MainFeatures的页面,链接在首页顶部附近.
(我可以在NumPy和Pandas中进行相同的结构化,那么PyTables的重要性是什么)?
真?你可以在只有16GB内存的机器上处理numpy或pandas中的64GB数据吗?还是一台32位的机器?
不,你不能.除非你将数据拆分成一堆独立的集合,你可以根据需要加载,处理和保存 - 但这会更复杂,而且速度要慢得多.
这就像问你为什么需要numpy时,你可以用常规的Python列表和迭代器做同样的事情.当你拥有8个浮点数组时,纯Python很棒,但是当你拥有10000x10000数组时,它们就不是了.当你有几个10000x10000阵列时,numpy很棒,但是当你有十几个互连的阵列,大小不超过20GB时.
它对大数据集的分析真的有用吗?
是.
谁能在任何例子的帮助下详细说明......
是.这里不是复制所有示例,为什么不直接查看文档首页上的简单示例,源代码树中的大量示例,实际用例的链接从前面点击两次文档的页面等?
如果你想让自己相信PyTables的用处,可以采用任何一个例子并将其扩展到32GB的数据,然后尝试弄清楚如何在numpy或pandas中做同样的事情.