我有大约15个日期索引的Pandas数据帧,每个数据帧有14000行,平均有5000列的浮点数据,以及约40-50%的NaN值,这些数据从硬盘中读取。我不能简单地删除NaN,因为不同的列在不同的日期具有NaN。当我尝试使用pd.concat()
将它们连接起来时,会发生内存错误。因此,这不是某些有误的代码或while循环的问题。如果我在连接中留下一些数据帧,则不会在连接中发生内存错误,但是当我尝试对连接的数据进行Scikit学习决策树分析时,它就会发生。
我的问题是如何使Python使用所有可用的内存而不抛出内存错误?
4.2GB,不考虑任何开销。现在,如果您将第一个表格与第二个表格组合,它将需要2 * 280 = 560 MB。然后将其与下一个表格组合:840 MB,然后是1.1 GB等...直到最后一个表格为4.2 GB。将其总结起来就是8 GB加上原始的4.2 GB,所以是12 GB。Pandas可以很容易地具有100%的开销,因此为24 GB(我知道其他库具有700%的开销)。 - Thomas Weller