私は3GBのCSVファイルをPythonで読み込もうとしていますが、中央値の列が必要です。私はそれだけでメモリ不足エラーだと思う大規模なCSVファイル(numpy)でPythonがメモリ不足
Python(1545) malloc: *** mmap(size=16777216) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
Traceback (most recent call last):
File "Normalize.py", line 40, in <module>
data = data()
File "Normalize.py", line 39, in data
return genfromtxt('All.csv',delimiter=',')
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-
packages/numpy/lib/npyio.py", line 1495, in genfromtxt
for (i, line) in enumerate(itertools.chain([first_line, ], fhd)):
MemoryError
:
from numpy import *
def data():
return genfromtxt('All.csv',delimiter=',')
data = data() # This is where it fails already.
med = zeros(len(data[0]))
data = data.T
for i in xrange(len(data)):
m = median(data[i])
med[i] = 1.0/float(m)
print med
私が手にエラーがこれです。私は4GBのRAMとnumpyとPythonの両方を64bitモードでコンパイルした64bit MacOSXを実行しています。
これを修正するにはどうすればよいですか?メモリ管理のためだけに、分散アプローチを試すべきですか?
おかげ
EDIT:また、これを試みたが、運...
genfromtxt('All.csv',delimiter=',', dtype=float16)
使用[pandas.read_csv](http://wesmckinney.com/blog/?p=543)それは非常に高速です。 –