Python用于大数据的替代方法

时间:2016-08-10 14:49:16

标签: python pandas

这确实是一个广泛的话题。作为Pandas的新手,我会发现在Stackoverflow上发帖是有用的,我们可以在这里描述和评论有关处理无法在普通计算机上加载的数据的不同替代方案(我将在16Gb上绘制这条线) RAM)。我目前正在学习如何轻松处理大约50Gb。

到目前为止,我有chrisb和Noobie已经提到Dask作为潜在的选择。理想情况下,我想执行与我通常在Pandas上执行的操作类似的操作。

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

1)然而,如何有效地操作典型的pandas函数,例如groupby和几个单独的csv文件而不将它们全部读入内存?

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

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

谢谢,感谢您的帮助,

1 个答案:

答案 0 :(得分:3)

  

3)为了解决这个问题,建议的路径是什么   大数据?

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

Pandas专为RAM内计算而设计,它非常擅长。不幸的是,鉴于您的数据量相对于您拥有的少量RAM而言,您会发现自己比预期更难挣扎。如果你买不起更多内存,请忘记熊猫。

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