首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyTables的优点是什么?

PyTables的优点是什么?
EN

Stack Overflow用户
提问于 2013-05-21 01:12:31
回答 1查看 4.2K关注 0票数 2

我最近开始学习PyTables,发现它非常有趣。我的问题是:

  • 当涉及到庞大的数据集时,PyTables相对于数据库的基本优势是什么?
  • 这个包的基本目的是什么(我可以在NumPy和Pandas中实现同样的结构,那么PyTables有什么大不了的呢?)
  • 这对分析大数据集真的有帮助吗?有人能用任何例子和比较来详细说明吗?

谢谢你们所有人。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-21 01:37:20

当涉及到庞大的数据集时,PyTables相对于数据库的基本优势是什么?

实际上,它是一个数据库。当然,它是一个层次数据库,而不是像dbm这样的1级键值数据库(它显然不那么灵活),或者像sqlite3这样的关系数据库(它更强大,但更复杂)。

但是,与非特定于数字的数据库相比,它的主要优势与(比方说) numpy ndarray相对于普通Python list的优势完全相同。它是为执行大量的矢量化数值操作而优化的,所以如果您要使用它,它将花费更少的时间和空间。

这个包的基本目的是什么?

引用头版的第一行(或者,如果您愿意的话,引用常见问题的第一行):

PyTables是一个用于管理分层数据集的包,旨在高效、轻松地处理大量数据。

还有一个页面列出了MainFeatures,链接在首页的顶部。

(我可以在NumPy和Pandas中实现同样的结构,那么PyTables有什么大不了的呢?)

真的?你可以在一台只有16 on内存的机器上处理64 on的numpy或熊猫数据?或者32位的机器?

不,你不能。除非你把你的数据分割成一组独立的集合,你可以根据需要加载、处理和保存--但是这会更复杂,也会慢得多。

这就像问为什么您需要numpy,而您只需要使用常规的Python列表和迭代器来做同样的事情。纯Python是伟大的,当你有一个8浮动数组,而不是当你有一个10000x10000数组。当有两个10000x10000数组时,numpy是很棒的,但是当您有多达20 in大小的12个相互关联的数组时,numpy就不是那么好了。

这对分析大数据集真的有帮助吗?

是。

有谁能在任何例子…的帮助下详细说明?

是。与其复制这里的所有示例,不如只看文档首页上的简单示例、源树中的大量示例、指向现实世界用例的链接--从文档的首页点击两下,等等?

如果你想让自己相信PyTables是有用的,那么就拿其中的任何一个例子,并将其缩放到32 in的数据,然后试着找出在numpy或熊猫中如何做同样的事情。

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16660617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档