我有大量的熊猫数据框> 5000个形状为3000x3000的float值,密度为60%(即40%的值是NaNs)。这些框架具有相同的索引和列。
我想对这些框架进行操作,例如所有这些。如果我依次执行此操作,则将花费20多分钟的时间。有什么有效的方法可以对它们进行操作(例如求和)?
在知道这些数据帧不密集的情况下,如何提高该过程的内存效率?
答案 0 :(得分:0)
如果您的所有数据都具有相同的形状,那么我看不出为此使用pandas DataFrames列表的意义。
通过最少的工作即可获得的最大性能就是将数据帧堆叠到3D Numpy维度数组(3000、3000、5000)中,然后在最后一个轴上求和。
因为这需要> 360 GB的RAM(对于已加载的数据帧至少为180 GB,对于堆叠的Numpy阵列至少为180 GB),这可能超出了通常的桌面工作负载,因此您可能需要检查大数据工具,例如在评论中提到。