Когда я использую следующий код, чтобы загрузить файл CSV с помощью NumPyОшибка памяти при использовании Numpy текст нагрузки
F = np.loadtxt(F,skiprows=1, delimiter=',',usecols=(2,4,6))
MASS = F[:,4]
#print(MASS)
Z = F[:,6]
N = len(MASS)
print(len(MASS))
Я получаю следующую ошибку
Traceback (most recent call last):
File "C:\Users\Codes\test2.py", line 16, in <module>
F = np.loadtxt(F,skiprows=1, delimiter=',',usecols=(2,4,6))
File "C:\Python34\lib\site-packages\numpy\lib\npyio.py", line 859, in loadtxt
X.append(items)
MemoryError
У меня есть 24ГБ, если физическая память и файл - 2.70Gb, поэтому я не понимаю, почему я получаю эту ошибку. Благодаря!
EDIT
Я также попытался загрузить тот же файл, как этот
f = open(F) #Opens file
f.readline() # Strips Header
nlines = islice(f, N) #slices file to only read N lines
for line in nlines:
if line !='':
line = line.strip()
line = line.replace(',',' ') #Replace comma with space
columns = line.split()
tid = columns[2]
m = columns[4]
r = columns[6] # assigns variable to columns
M.append(m)
R.append(r) #appends data in list
TID.append(tid)
print(len(MASS))
и получил другую ошибку памяти.
Traceback (most recent call last):
File "C:\Users\Loop test.py", line 58, in <module>
M.append(m)
MemoryError
Похоже, что в этом случае он работает из памяти при создании первого списка M
распределение массива 2.70Gb проблематично. Он должен быть 2,70 ГБ ** непрерывной ** памяти. Любая машина будет бороться с этим. Я бы рекомендовал найти способ обработки этих данных в кусках. Или загляните в функциональность memmap numpy: http://docs.scipy.org/doc/numpy/reference/generated/numpy.memmap.html –
Вам нужно всего 2.7 ГБ непрерывной * виртуальной * памяти, и не должно быть никаких проблем с этим, так как виртуальное адресное пространство на современных машинах безумно велико. Скорее всего, 'loadtxt()' будет копировать данные, может быть несколько раз, и внутренне выделять больше данных, чем будет занимать исходный файл. –
@SvenMarnach Есть ли способ проверить, что 'loadtext()' делает дополнительные копии? – Surfcast23