如何使用Pandas处理超过内存容量的大规模数据?

处理大规模数据集时常是棘手的事情,尤其在内存无法完全加载数据的情况下。在资源受限的情况下,可以使用Python Pandas提供的一些功能,降低加载数据集的内存占用。可用技术包括压缩、索引和数据分块。

开展数据科学项目中的一个重要步骤,就是从API下载数据并加载到本地内存,之后才能处理数据。

在上述过程中需要解决一些问题,其中之一就是数据量过大。如果数据量超出本机内存的容量,项目执行就会产生问题。

对此有哪些解决方案?

有多种解决数据量过大问题的方法。它们或是消耗时间,或是需要增加投资。

可能的解决方案

  1. 投资解决:新购有能力处理整个数据集,具有更强CPU和更大内存的计算机。或是去租用云服务或虚拟内存,创建处理工作负载的集群。

  2. 耗时解决:如果内存不足以处理整个数据集,而硬盘的容量要远大于内存,此时可考虑使用硬盘存储数据。但使用硬盘管理数据会大大降低处理性能,即便是SSD也要比内存慢很多。

只要资源允许,这两种解决方法均可行。如果项目资金充裕,或是不惜任何时间代价,那么上述两种方法是最简单也是最直接的解决方案。

但如果情况并非如此呢?也许你的资金有限,或是数据集过大,从磁盘加载将增加5~6倍甚至更多的处理时间。是否有无需额外资金投入或时间开销的大数据解决方案呢?

原文链接:【https://www.infoq.cn/article/QqcwQlIUgJ33AEhOaQJq】。未经作者许可,禁止转载。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章