为什么Numpy和Pandas阵列比源数据消耗更多内存?

时间:2015-09-25 06:31:16

标签: python numpy pandas bigdata

我是bigdata的新手,我想解析整个数据,所以当我尝试使用numpy数组处理1 GB数据需要4GB内存(实时处理大量数据)时,我无法拆分它。是否有任何优化方法可以将这些数组用于这么多数据或任何特殊函数来处理大量数据。

1 个答案:

答案 0 :(得分:5)

内存消耗在很大程度上取决于数据的存储方式。例如1因为字符串只占用一个字节,所以它需要两个字节,八个字节作为double。然后,在DaataFrameSeries的对象中创建它的开销很大。所有这些都是为了有效处理而完成的 作为一般的经验法则,数据在内存中的表示将比存储中的大小更大。

BigData意味着太大而无法容纳在内存中的数据(或单个机器中的进程)。因此解析整个数据并将其加载到内存中是没有意义的。

所有BigData处理引擎都依赖于将数据拆分为块并单独(并行)处理块,然后将这些中间结果合并为一个。