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

sat*_*ish 0 python numpy bigdata pandas

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

sha*_*uga 5

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

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

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