使用np.median()时的MemoryError

时间:2012-10-03 18:46:41

标签: python out-of-memory

我有两个文件,我正在读取数据,进行计算,并绘制图表。一个文件非常小~50 KB并且不会引起脚本问题。另一个文件是~702,900 KB(这是导致问题的文件)。我能够很好地读取数据,但是当我计算这个特定文件的逐行中位数时,脚本失败并给了我一个MemoryError。它看起来如下:

    RMSDataS1 = [y01S1, y02S1, y03S1, y04S1, y05S1, y06S1, y07S1, y08S1, y09S1, 
         y010S1, y011S1, y012S1, y013S1, y014S1, y015S1, y016S1, y017S1, 
         y018S1, y019S1, y020S1, y021S1, y022S1, y023S1, y024S1, y025S1,
         y026S1, y027S1, y028S1, y029S1, y030S1, y031S1, y032S1, y033S1,
         y034S1, y035S1, y036S1, y037S1, y038S1, y039S1, y040S1, y041S1, 
         y042S1, y043S1, y044S1, y045S1, y046S1, y047S1, y048S1, y049S1,
         y050S1, y051S1, y052S1, y053S1, y054S1, y055S1, y056S1, y057S1,
         y058S1, y059S1, y060S1, y061S1, y062S1, y063S1, y064S1, y065S1, 
         y066S1, y067S1, y068S1, y069S1, y070S1, y071S1, y072S1, y073S1,
         y074S1, y075S1, y076S1, y077S1, y078S1, y079S1, y080S1, y081S1,
         y082S1, y083S1, y084S1, y085S1, y086S1, y087S1, y088S1, y089S1, 
         y090S1, y091S1, y092S1, y093S1, y094S1, y095S1, y096S1, y097S1,
         y098S1, y099S1, y0100S1, y0101S1, y0102S1, y0103S1, y0104S1, y0105S1,
         y0106S1, y0107S1, y0108S1]


    MediansS1 = []
    MediansS1 = np.median(RMSDataS1, axis = 0)

有没有方便的方法来解决这个问题?我相信在计算中位数时尝试对数据进行排序时脚本失败了。

错误:

    Traceback (most recent call last):
      File "C:\Python27\Lib\site-packages\xy\RMSTrialOriginal-Aera.py", line 511, in <module>
        MediansS1 = np.average(RMSDataS1, axis = 0)
      File "C:\Python27\lib\site-packages\numpy\lib\function_base.py", line 486, in average
        a = np.asarray(a)
      File "C:\Python27\lib\site-packages\numpy\core\numeric.py", line 235, in asarray
        return array(a, dtype, copy=False, order=order)
    MemoryError

非常感谢任何帮助!

0 个答案:

没有答案