Я получаю «Ошибка памяти» на Python при попытке сортировать фрейм данных Pandas и затем сохранять его на диске.Ошибка памяти Python 64bits
df = pd.read_hdf('big_df_file.h5')
df.sort_values(by='opt',inplace=True,kind='quicksort')
df.to_hdf('sorted.h5')
Мой компьютер имеет 16 ГБ ОЗУ, а файл данных - 8 ГБ. Разве я не могу это сделать, не получив «Ошибка памяти»?
P.S. Я использую quicksort, потому что это алгоритм сортировки, который выделяет меньше памяти.
Versions:
python: 2.7.11.final.0
python-bits: 64
OS: Windows
OS-release: 10
machine: AMD64
processor: Intel64 Family 6 Model 94 Stepping 3, GenuineIntel
byteorder: little
LC_ALL: None
LANG: en_GB
pandas: 0.17.1
* Когда * вы получаете 'MemoryError'? Вы уверены, что это дает вам ошибку при сортировке, а не при загрузке данных? – Bakuriu
@Bakuriu Я поместил несколько выражений 'print' и получаю ошибку при сортировке. –
['numpy.sort'] (http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.sort.html) говорится, что сортировка на любой, кроме последней оси, может создавать временные копии данных. Однако, используя простой «numpy», я не вижу больших изменений в памяти. Фактически даже при использовании 'mergesort' я не вижу реальных изменений в использовании памяти. – Bakuriu