【问题标题】:Alternatives to Python for large data [closed]用于大数据的 Python 替代品 [关闭]
【发布时间】:2016-08-10 14:49:16
【问题描述】:

这确实是一个广泛的话题。作为 Pandas 的新手,我会发现在 Stackoverflow 上发表一篇文章很有用,我们可以在其中描述和评论处理常规计算机中无法加载的数据的不同替代方案(我将在 16Gb 上划线内存)。我目前正在学习如何轻松处理大约 50Gb。

到目前为止,我有 chrisb 和 Noobie 提到 Dask 作为一个潜在的替代品。理想情况下,我想执行与我通常在 Pandas 上执行的操作类似的操作。

我在论坛上阅读并找到了一些将 cvs 文件划分为更易于管理的 1Gb 文件的方法,我可以使用 read_csv 单独加载和处理这些文件。例如,这个问题How can I split a large file csv file (7GB) in Python 显示了如何拆分大型 cvs 文件。

1) 但是,如何在不将它们全部读入内存的情况下,有效地操作具有多个单独 csv 文件的 groupby 等典型 pandas 函数?

2) 我看到提到其他处理大型数据集的 python 库。例如,该社区中的一些帖子将 HDF5 和 Blazer 称为大数据处理的替代方案。这将如何适合我想做的事情?使用这些库或其他库执行常见 pandas 操作的示例是什么?

3) 处理这些大数据的建议路径是什么?

谢谢你,感谢你的帮助,

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    3) 解决此问题的建议路径是什么 大数据?

    答案:购买额外的 RAM,以便您的 RAM 总量大于您的数据集。

    Pandas 专为 RAM 内计算而设计,并且非常擅长。不幸的是,相对于您拥有的少量 RAM,您的数据量很大,您会发现自己比需要的还要挣扎。如果你买不起更多的 RAM,请忘记 Pandas。

    其他选项包括 Hadoop、Amazon EC2、Dask 或 Google 云计算。

    【讨论】:

    • 取决于数据的结构和分析是什么dask 可以在一台 8GB 的​​机器上处理这个问题而不会太痛苦。
    • 是的,也许。查看文档。 dask 也可以使用分布式机器计算。
    • 谢谢您的回复。从 pandas 到 dask 的迁移如何?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多